レプリケーション管理機能によるSQL Serverのバックアップ運用ではswsrpbackup_sqlとswsrprestore_sqlを使用します。
名前
swsrpbackup_sql - SQL Serverのバックアップ
形式
プログラムディレクトリ\bin\swsrpbackup_sql [-Xserver serverName] [-Xinstance instanceName] (-Xgroup groupName | -Xdevmap deviceMapFile) [-m] [-t] [-T] (-Xdblist dbListFile | dbName-1 dbName-2…dbName-i)
機能説明
SQL Serverのデータベースバックアップを行います。本コマンドは、SQL Serverと連携して、swsrpmakeコマンドを実行することで対象データベースボリュームのデータをバックアップボリュームにコピーします。データベースのバックアップ履歴情報はSQL Serverのmsdbに記録されます。
MSCSまたはWSFC運用の場合、本コマンドは、前後処理でボリュームが属する物理ディスクリソースのメンテナンスモードの自動設定を行います。詳細は「15.1.7.1 MSCSまたはWSFCでクラスタ運用している場合」を参照してください。
オプション
クラスタ運用の場合、接続するSQL Serverの仮想サーバ名を指定します。
クラスタ運用でない場合は、本オプションを指定する必要はありません。
接続インスタンスを指定します。オペランドにはインスタンス名を指定します。
このオプションを指定しない場合は、既定のインスタンスに接続します。
レプリケーション管理機能のグループ名を指定します。
本オプションを指定してバックアップを行った場合は、バックアップ履歴情報をswsrphistory_sqlコマンドで確認できます。
出力先バックアップボリュームを指定してバックアップを行うことを指定します。
オペランドには、データベースボリュームとバックアップボリュームの組を記述した、デバイスマップファイル名を指定します。デバイスマップファイルの詳細は、「10.4.1.7 デバイスマップファイルの準備(レプリケーショングループを作成しない場合)」を参照してください。デバイスマップファイル名は絶対パスで指定してください。
バックアップサーバ運用(サーバ間レプリケーション)の場合、バックアップサーバ(非操作サーバ)との通信処理を行わないことを指定します。本オプションを指定した場合、バックアップボリュームに対するボリューム状態確認処理、前後処理は行われません。
本オプションは、バックアップサーバ運用時だけ有効です。
バックアップボリューム(コピー先ボリューム)への前後処理を実行しないことを指定します。
複写先ボリュームの前後処理をAdvancedCopy Managerでは実施せず、独自の前後処理をAdvancedCopy Managerコマンドの前後に組み込む場合に限り、本オプションを使用してください。
差分スナップショット処理を起動することを指定します。
同期処理が行われている場合は、本オプションを指定できません。
本オプションは、筐体内レプリケーション、かつ、ETERNUS ディスクアレイがQuickOPC機能をサポートしている場合だけ有効です。
本オプションを指定しないスナップショット型レプリケーションの場合、通常のスナップショット処理(QuickOPC機能を利用しないOPC)が起動されます。差分スナップショットを利用したレプリケーション運用を行う場合は常に本オプションを指定する必要があります。
バックアップ対象データベースを記述したファイル(データベース一覧ファイル)を指定します。
データベース一覧ファイルを、絶対パスまたは現在の作業フォルダーからの相対パスで指定します。
本オプションを指定した場合は、オペランドにデータベース名を指定できません。
データベース一覧ファイルの詳細は、「10.4.1.8 データベース一覧ファイルの作成」を参照してください。
オペランド
データベース名を指定します。複数のデータベースを指定する場合は、データベース名を半角空白またはタブ文字で区切って指定してください。129個以上のデータベース名は指定できません。
終了ステータス
=0 : 正常終了
>0 : 異常終了
使用例
グループgrp1内の仮想サーバVSERVER配下のデータベースDB01、DB02、DB03をバックアップします。
C:\>set SWSTGNODE=nodeAGT C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpbackup_sql -Xserver VSERVER -Xgroup grp1 DB01 DB02 DB03 DB01 DB02 DB03 swsrpbackup_sql completed C:\>
-Xdblistオプションでデータベース一覧ファイルを指定し、グループgrp1内の仮想サーバVSERVER配下のデータベースDB01、DB02、DB03をバックアップします(-Xdblistオプションを指定してコマンドを実行した場合、コマンドの完了メッセージは、データベース名ごとに改行されます)。
C:\>set SWSTGNODE=nodeAGT C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpbackup_sql -Xserver VSERVER -Xgroup grp1 -Xdblist G:\STGADM\dblist.dat DB01 DB02 DB03 swsrpbackup_sql completed C:\>
注意事項
次の場合は、バックアップを実行できません。
指定したデータベースが存在しなかったとき(仮想サーバやインスタンスが存在しなかった場合も含みます)。
複数のデータベースを指定した場合、指定したデータベースのすべてが同一インスタンス配下のデータベースではなかったとき(-Xinstanceオプションを使用しなかった場合は、既定のインスタンスに対して処理を行います。-Xinstanceオプションを使用した場合はオペランドに指定した名前付きインスタンスに対して処理を行います)。
指定したデバイスマップファイルが存在しなかったとき。
デバイスマップファイルの記述が誤っていたとき(「10.4.1.7 デバイスマップファイルの準備(レプリケーショングループを作成しない場合)」を参照)。
デバイスマップファイルに記述されたデータベースボリュームとバックアップボリュームが、それぞれ、複製元ボリューム、複製先ボリュームとして登録されていなかったとき。
デバイスマップファイルに記述されたデータベースボリュームとバックアップボリュームの同期処理が等価性維持状態になっていなかったとき。
運用開始後に物理ボリューム情報(媒体識別子、OLU、EXTENT開始位置、EXTENTサイズ)が変更されているとき。
バックアップボリュームが複数マウントポイントを持っているとき。
データベースボリュームがWindows上のSDXオブジェクト(SafeDISK)の場合、そのSDXオブジェクトの状態が以下の状態でないとき。
ミラーボリュームがACTIVE、STOPのどちらか。
ミラースライスの状態がACTIVE、STOPのどちらか。
SDXディスクの状態がENABLEである。
すべてのバックアップボリュームがデータベースサーバのボリュームの場合にmオプションが指定されたとき。
バックアップサーバ運用(サーバ間レプリケーション)の場合、コマンドを実行した管理対象サーバが対応する複製ボリュームの操作サーバでなかったとき。
バックアップサーバ運用(サーバ間レプリケーション)の場合、相手サーバとの通信に失敗したとき。
129個以上のデータベースを指定したとき。
バックアップボリューム(複製先ボリューム)をロックできなかったとき。
複写先ボリュームロック動作指定ファイルの内容が不当なとき。
実行するバックアップが以下のどちらかに該当する場合は、コマンド実行前にバックアップボリュームのドライブ文字を外すか、アンマウント状態にしてください。
異なるOS間でコピーを行う場合
データベースボリュームとバックアップボリュームのサイズが異なる場合
ドライブ文字解除状態、または、アンマウント状態にしないと、バックアップ時に、バックアップボリュームの後処理がエラーとなります。
スナップショット処理の実行中に本コマンドを実行した場合は、実行中のコピーを停止し、新たにスナップショット処理を起動します。
本コマンドは、オペランドの指定により、複数のデータベースを同時にバックアップする機能を提供しています。1つのボリューム上に複数のデータベースが存在するなど、複数データベースの物理ファイルがボリューム上に混在して存在している場合は、本機能を使用してボリューム上に存在するすべてのデータベースをバックアップしてください。
本コマンドを使用すると、バックアップ処理が完了するまで、オペランドに指定したすべてのデータベースが凍結されます。そのため、データベースファイルが存在するボリュームがデータベースごとに分かれている場合は、凍結時間をなるべく短くするために、データベースごとのバックアップを複数回行ってください。
SDXオブジェクト(SafeDISK)をバックアップボリュームとするアドバンスト・コピーはサポートされていません。したがって、SDXオブジェクトのデータベースボリュームから非SDXオブジェクトのバックアップボリュームへのアドバンスト・コピーだけが利用可能です。
SDXオブジェクトへデータをリストアする際は以下の方法で実施してください。
COPYコマンドでデータをコピーしてください。
バックアップ実行時のデータベースボリュームのデータ整合性処理はSQL Serverで行われるため、通常のファイルシステムボリュームのような前後処理(ボリュームロック・ロック解除)は実行されません。
本コマンドが複数ボリューム構成のデータベースを処理している間にエラーが発生した場合、処理を中断します。同期処理によるバックアップを行っていた場合は、中断された同期処理はswsrpstartsyncコマンドで再開してください。
スナップショット型バックアップを実施する場合、本コマンドでは、バックアップボリュームにアクセスしているプロセスを保護するために、バックアップボリュームをほかのプロセスからアクセスできない状態にしてからバックアップを実行します。そのために、バックアップボリュームのロックを実行します。バックアップボリュームのロックができない以下の場合、本コマンドはエラー終了します。
マウントポイントの配下に、さらにほかのボリュームをマウントするディレクトリがある場合。
ボリューム内に使用中のファイルがある。また、本コマンドを投入するサーバ以外のサーバからバックアップボリュームが使用されている場合、レプリケーション運用の管理者の責任で共有設定の解除などによりバックアップボリュームをアクセス禁止状態にしてください。
次のコマンドが動作中のときは、本コマンドを実行できません。
物理ディスクリソースのメンテナンスモードをONにできなかった場合は、本コマンドを実行できません。
名前
swsrphistory_sql - SQL Serverバックアップ履歴情報の表示/削除
形式
プログラムディレクトリ\bin\swsrphistory_sql disp [-Xserver serverName | -Xallserver] [-Xinstance instanceName | -Xallinstance] [-Xgroup groupName] [-Xreg] [-Xdblist dbListFile | dbName-1…dbName-i]
プログラムディレクトリ\bin\swsrphistory_sql delete [-Xserver serverName] [-Xinstance instanceName] (-Xgroup groupName | -z) (-Xdblist dbListFile | dbName-1…dbName-i)
機能説明
本コマンドは、SQL Serverのバックアップ履歴情報を表示/削除します。
表示される情報は以下のとおりです。
タイトル | 説明 |
---|---|
Instance-Name | インスタンス名を表示します。 |
Server-Name | クラスタ運用の場合、仮想サーバ名を表示します。 クラスタ運用でない場合は、コンピュータ名を表示します。 |
Group-Name | レプリケーショングループ名を表示します。 |
DB-Name | データベース名を表示します。 |
Meta-Data-File | メタデータファイルパスを絶対パスで表示します。 |
DB-File | データベースファイル(プライマリデータファイル(.mdf)、セカンダリデータファイル(.ndf)、ログファイル(.ldf))のファイルパスを絶対パスで表示します。 |
Original-Volume | 業務ボリューム名(複製元ボリューム名)を表示します。 |
Replica-Volume | バックアップボリューム名(複製先ボリューム名)を表示します。 |
Backup-Date | バックアップが完了した日時を表示します。 |
本コマンドは、SQL Serverがインストールされているサーバで実行します。
オプション
表示/削除するSQL Serverバックアップ履歴情報の、SQL Serverの仮想サーバ名またはコンピュータ名を指定します。
-Xserverオプションと-Xallserverオプションのどちらも指定しない場合は、コンピュータ名が指定されます。
すべてのSQL Serverの仮想サーバ名またはコンピュータ名のSQL Serverバックアップ履歴情報を表示します。
-Xserverオプションと-Xallserverオプションのどちらも指定しない場合は、コンピュータ名が指定されます。
レプリケーション管理機能のグループ名を指定します。
表示/削除するSQL Serverバックアップ履歴情報のインスタンスを指定します。オペランドにはインスタンス名を指定します。
-Xinstanceオプションと-Xallinstanceオプションのどちらも指定しない場合は、既定のインスタンスが指定されます。
すべてのインスタンスのSQL Serverバックアップ履歴情報を表示します。
-Xinstanceオプションと-Xallinstanceオプションのどちらも指定しない場合は、既定のインスタンスが指定されます。
レプリケーション管理簿に登録されているグループのSQL Serverバックアップ履歴情報を表示します。
本オプションを省略した場合、すべてのSQL Serverバックアップ履歴情報を表示します。
バックアップ対象データベースを記述したファイル(データベース一覧ファイル)を指定します。
データベース一覧ファイルを、絶対パスまたは現在の作業フォルダーからの相対パスで指定します。
本オプションを指定した場合は、オペランドにデータベース名を指定できません。
データベース一覧ファイルの詳細は、「10.4.1.8 データベース一覧ファイルの作成」を参照してください。
すべてのSQL Serverバックアップ履歴情報を削除します。
オペランド
データベース名を指定します。複数のデータベースを指定する場合は、データベース名を半角空白またはタブ文字で区切って指定してください。129個以上のデータベース名は指定できません。
終了ステータス
=0 : 正常終了
>0 : 異常終了
使用例
SQL Serverバックアップ履歴情報を表示します。
C:\Win32app\AdvancedCopyManager\bin>swsrphistory_sql disp -Xgroup grp1 -Xdblist C:\tmp\dblist.txt Instance-Name Server-Name Group-Name DB-Name Meta-Data-File DB-File Original-Volume Replica-Volume Backup-Date MSSQLSERVER WIN-FJPDG31D87G grp1 db0 E:\sql_db\db0.swsrp-dmp E:\sql_db\db0.mdf g3d7p1@WIN2008R2-X64_JP g1d36p1@WS2008X64MK23CT 2013/09/04 13:51 MSSQLSERVER WIN-FJPDG31D87G grp1 db0 E:\sql_db\db0.swsrp-dmp F:\sql_log\db0.ldf g3d7p2@WIN2008R2-X64_JP g1d36p2@WS2008X64MK23CT 2013/09/04 13:51 MSSQLSERVER WIN-FJPDG31D87G grp1 db1 E:\sql_db\db1.swsrp-dmp E:\sql_db\db1.mdf g3d7p1@WIN2008R2-X64_JP g1d36p1@WS2008X64MK23CT 2013/09/04 13:51 MSSQLSERVER WIN-FJPDG31D87G grp1 db1 E:\sql_db\db1.swsrp-dmp F:\sql_log\db1.ldf g3d7p2@WIN2008R2-X64_JP g1d36p2@WS2008X64MK23CT 2013/09/04 13:51 C:\>
SQL Serverバックアップ履歴情報を削除します。
C:\>C:\Win32App\AdvancedCopyManager\bin\swsrphistory_sql delete -Xgroup grp1 db0 db1 db0 db1 swsrphistory_sql completed C:\>
注意事項
バックアップ履歴情報を削除したデータベースは、リストアウィザード(for SQL Server)でリストアできません。
名前
swsrprestore_sql - SQL Serverのリストア
形式
プログラムディレクトリ\bin\swsrprestore_sql [-Xserver serverName] [-Xinstance instanceName] [-Xnolog] -Xmeta metaFileName dbName
機能説明
SQL Serverのデータベースをリストアします。swsrpmakeコマンドを使ってデータベースファイルを復元したあと、本コマンドを投入してください。本コマンドは、復元したデータベースファイルからデータベースを再作成します。リカバリーする場合は、本コマンドの実行後、Management StudioまたはTransact-SQLを使用してログを適用してください。
オプション
クラスタ運用の場合、接続するSQL Serverの仮想サーバ名を指定します。
クラスタ運用でない場合は、本オプションを指定する必要はありません。
接続インスタンスを指定します。オペランドにはインスタンス名を指定します。このオプションを指定しない場合は、規定のインスタンスに接続します。
ログの適用をせず、バックアップ時点までDBを復元することを指定します。このオプションを指定しない場合、DBはバックアップ時点までリストアされますが、ログの適用を完了するまで使用できません。ログの適用は、Management StudioまたはTransact-SQLを使用してください。
メタデータファイル名を指定します。絶対パスで指定してください。メタデータファイルは、ファイル識別番号(FILE_ID)1のファイルと同一のフォルダに"dbName.swsrp-dmp"という名前で保存されています。データベースファイルのファイル識別番号を確認するには、Transact-SQL文「USE データベース名 EXEC SP_HELPFILE」を使用してください。なお、本コマンドの正常終了後、メタデータファイルは削除されます。
オペランド
データベース名を指定します。
終了ステータス
=0 : 正常終了
>0 : 異常終了
使用例
データベース(DB01)のバックアップデータをリストアします。swsrpmakeによるファイル復元は完了しており、メタデータファイルがD:\SQLSVR\DB01.swsrp-dmpに存在するとします。
C:\>C:\Win32App\AdvancedCopyManager\bin\swsrprestore_sql -Xserver VSERVER -Xmeta D:\SQLSVR\DB01.swsrp-dmp DB01 DB01 swsrprestore_sql completed C:\>
注意事項
次の場合は、リストアを実行できません。
指定した仮想サーバやインスタンスが存在しなかったとき。
ログ適用の有無によって以下の2種類の復旧方式を選択できます。
バックアップ時点への復旧(バックアップデータ復旧だけ)
最新時点・特定時点への復旧(バックアップデータ復旧後ログ適用)