Replication Manager Software Application Agent CLI リファレンスガイド
バックアップデータを再同期でリストアする場合
drmsqlrestore バックアップID -resync [ -force ] [ -undo ][ -nochk_host ] [ -instance SQL Serverインスタンス名 ] [ -target データベース名 | -f 一括定義ファイル名 ] [ -pf コピーパラメーター定義ファイル]正ボリュームのデータにメタファイルだけを適用する場合
drmsqlrestore バックアップID -no_resync [ -undo ][ -nochk_host ] [ -instance SQL Serverインスタンス名 ] [ -target データベース名 | -f 一括定義ファイル名 ]リモートサイトのバックアップデータを再同期でリストアする場合
drmsqlrestore バックアップID -resync [ -force ] [ -undo ][ -nochk_host ] [ -instance SQL Serverインスタンス名 ] [ -target データベース名 | -f 一括定義ファイル名 ] [ -template ] [ -pf コピーパラメーター定義ファイル]リモートサイトの正ボリュームのデータにメタファイルだけを適用する場合
drmsqlrestore バックアップID -no_resync [ -undo ][ -nochk_host ] [ -instance SQL Serverインスタンス名 ] [ -target データベース名 | -f 一括定義ファイル名 ] [ -template ]バックアップIDで指定された副ボリュームのバックアップデータを,ディスクの再同期で正ボリュームにリストアします。リストアには,drmsqlbackupコマンドで作成したスナップショットのメタファイルが使用されます。
次に,ディスクの再同期でリストアするときのコマンドの動作を説明します。
- リストアされるデータベースがアタッチされていた場合,データベースがデタッチされます。
データベースのデタッチに失敗した場合は,エラーメッセージが表示され,リストア処理はエラーになります。- ディスクの再同期で副ボリュームから正ボリュームにバックアップデータがリストアされます。
- データベースがアタッチされます。
- インスタンスが起動されます。
次に,クラスタ環境でリストアするときのコマンドの動作を説明します。この場合,データベースを含むクラスタリソースがオフラインになるため,リストア対象のデータベースは一時的に使用できなくなります。
- リストアされるデータベースを含むクラスタリソースがオンラインの場合,データベースを含むリソースとディスクリソースがオフラインにされます。
データベースを含むクラスタリソースやディスクリソースのオフラインに失敗した場合は,エラーメッセージが表示され,リストア処理はエラーになります。- ディスクの再同期で副ボリュームから正ボリュームにバックアップデータがリストアされます。
- ディスクリソースがオンラインにされ,そのあとデータベースを含むクラスタリソースがオンラインになります。
Application Agentの構成定義ファイル(init.conf)でCLU_MSCS_RESTOREにONLINEが設定されている場合,-resyncオプションを指定してユーザーデータベースをクラスタリソースがオンライン状態でリストアできます。この場合,リストア対象となるインスタンスを管理するクラスタリソースはオフラインになりません。ただし,リストア対象がシステムデータベース(master,model,msdb,distribution),またはシステムデータベースを含むデータベースの場合はオフラインになります。
正ボリューム上のデータは,バックアップ時点での副ボリュームのディスクイメージで上書きされます。したがって,バックアップ後に正ボリューム上に新規に作成したり,更新したりしたデータはすべて無効となります。
SQL Serverのシステムデータベース(master,model,msdb,distribution)をリストアする場合,システムデータベースを回復するためにリストア対象のSQL Serverのサービスを一度停止します。したがって,リストア対象データベースに一時的にアクセスできなくなります。リストア実行中はSQL Serverに接続しないでください。コマンド実行中にリストア対象のデータベースへ接続した場合,Application Agentの構成定義ファイル(init.conf)のパラメーター「プロセスの状態確認のリトライ回数とリトライ間隔」で設定した回数だけ,プロセスの状態確認を繰り返すことになります。この場合,繰り返しプロセスの状態確認が行われている間にユーザーの接続を切断すれば,コマンドは実行を継続します。
コマンドを実行してリストアする際,SQL Serverデータベースを構成するドライブ名がバックアップ時と異なる場合,コマンドがエラーになります。リストアする前に,drmsqlcatコマンドおよびSQL ServerのEnterprise Managerでリストア先のドライブ名が一致しているか確認してください。
バックアップ後に物理ディスクのパーティションスタイルが変更された場合に,コマンドを実行したときは次の表に示す動作になります。
表2-26 物理ディスクのパーティションスタイルとコマンド実行結果
バックアップ前 バックアップ後 リストアコマンド実行結果 正ボリューム 正ボリューム 副ボリューム コマンド状態 MBRディスク MBRディスク MBRディスク 正常終了 GPTディスク エラー(KAVX5171-E または KAVX5137-E)
再同期実施後※1GPTディスク MBRディスク エラー(DRM-10337)
再同期実施前※2GPTディスク エラー(DRM-10337)
再同期実施前※2GPTディスク MBRディスク MBRディスク エラー(DRM-10337)
再同期実施前※2GPTディスク エラー(DRM-10337)
再同期実施前※2GPTディスク MBRディスク エラー(KAVX5171-E またはKAVX5137-E)
再同期実施後※1GPTディスク 正常終了
- 注※1
- 再同期処理が実行されたあとに,エラーが表示されます。
- 注※2
- 再同期処理が実行される前に,エラーが表示されます。
バックアップID
リストアするバックアップデータのバックアップIDを指定します。バックアップIDとは,バックアップデータを一意に識別するためのIDで,バックアップ時に,バックアップカタログに登録されます。バックアップIDを確認するにはdrmsqlcatコマンドを実行します。
-resync
正ボリュームと副ボリュームを再同期することでリストアします。正ボリュームの内容は,副ボリュームのバックアップデータと同じになります。
このオプションを指定してコマンドを実行する際,Windowsパフォーマンスレジストリを参照するプログラムのサービスを停止してください。
-force
正ボリュームと副ボリュームを強制的に再同期することで,リストアする場合に指定します。このオプションを指定すると,データベースサーバでバックアップを実行したときに取得した正ボリュームのコピーグループ名がデータベースサーバの情報と一致していれば,LDEV番号またはSERIAL番号がバックアップ時の番号と一致していない場合にも強制的に再同期します。このオプションは,ボリュームを入れ替えてLDEV番号が変わった場合など,-resyncオプションを指定しても再同期でリストアできないときにだけ指定してください。通常のリストアでこのオプションを指定した場合,データが破壊されるおそれがあります。
-undo
このオプションは,データベースをスタンバイモードとしてリストアする場合に指定します。このオプションを指定すると,リストアしたあとに,データベースは読み取り専用で使用できるようになります。drmsqlinitコマンドで登録したUNDOファイル格納ディレクトリにデータベースごとに一時ファイルを作成します。drmsqlinitコマンドでUNDOファイル格納ディレクトリが設定されていない場合は,「drmsqlinitコマンドでパラメーターが設定されていません」というエラーメッセージが表示されます。drmsqlinitコマンドでUNDOファイル格納ディレクトリを設定してください。
このオプションを省略した場合は,通常のリストアを実施します。この場合,リストアしたあと,ローディング状態になり,データベースは使用できなくなります。
-nochk_host
ホスト名に変更があった場合や,SQL Serverのログ配布機能を使用する場合など,drmsqlbackupコマンド実行時のホストとは異なるホストにリストアする際に指定します。
システムデータベース(master,model,msdb,distribution)をリストアする場合は,このオプションを使用できません。
- 注意事項
- -nochk_hostオプションを指定した場合,リストアする際バックアップカタログでのホスト名の整合性チェックをしないため,間違ったホスト上でリストアしないように注意してください。
-instance SQL Serverインスタンス名
このオプションは,drmsqlbackupコマンドを実行したSQL Serverインスタンスとは異なるSQL Serverインスタンスへリストアする場合に指定します。SQL Serverインスタンス名に「DEFAULT」を指定した場合は,SQL Serverの既定インスタンスに接続します。ただし,リストア対象にシステムデータベース(master,model,msdb,distribution)が含まれている場合,このオプションは指定できません。
-target データベース名
指定したインスタンスに含まれる特定のデータベースをリストアする場合に指定します。指定するデータベースは,バックアップIDで指定したバックアップカタログの中に存在する必要があります。バックアップカタログの中に存在しないデータベースを指定した場合,そのデータベースに対するリストアは行われません。複数のデータベースを一度にリストアするときは,ファイル名またはディレクトリ名をコンマで区切って指定します。空白文字を含んだデータベース名を指定する場合,「"」で囲んで指定します。
このオプションおよび-fオプションの両方を省略した場合は,バックアップIDで指定したインスタンス全体をリストアします。
-f 一括定義ファイル名
このオプションは,-targetオプションと同様に,指定したインスタンスに含まれる特定のデータベースをリストアする場合に指定します。-targetオプションと異なり,リストアするデータベースの一覧を記述した定義ファイルをあらかじめ作成しておき,そのファイルの名称を指定することで,リストアするデータベースを一度に指定できます。一括定義ファイル名は絶対パスで指定します。空白文字を含んだ一括定義ファイル名を指定する場合,「"」で囲んで指定します。
このオプションおよび-targetオプションの両方を省略した場合は,バックアップIDで指定したインスタンスに含まれるすべてのオブジェクトをリストアします。
-no_resync
副ボリュームから正ボリュームへバックアップデータの回復処理をしないで,正ボリューム上のデータに対して,メタファイルだけ適用したい場合に指定します。ドライブが壊れてテープから直接正ボリュームにリストアする場合など,drmsqlrestoreコマンドでリストアできないときに使用します。
-template
drmsqlbackupに-templateオプションを指定して作成したバックアップカタログを使用してリストアする場合に指定します。-templateオプションで指定されたテンプレートカタログのSTART-TIMEおよびEND-TIMEは,テンプレートカタログの作成開始時間と終了時間となります。
-pf コピーパラメーター定義ファイル
コピーパラメーター定義ファイルに定義したリトライ回数とリトライ間隔を使用する場合に指定します。指定する場合は,パスではなくファイル名だけを指定してください。
このオプションを省略した場合は,RAID Manager用連携定義ファイル(DEFAULT.dat)の値が使用されます。コピーパラメーター定義ファイルに記述がされていないパラメーターについても,DEFAULT.datの値が使用されます。
コピーパラメーター定義ファイルは,次の場所に作成します。ファイル名は,64バイト以内の半角英数字で指定してください。
<Application Agentのインストール先>\DRM\conf\raid
- リストア対象の論理ボリュームに含まれるすべてのデータベースを指定してください。指定しない場合はコマンドにエラーが発生します。
- 名称を変更したSQL Serverデータベースに対してこのコマンドを実行する場合,必ずリストア対象のSQL Serverデータベースをデタッチしてください。デタッチしないでリストアした場合,コマンドが正常に終了しないで,リストアしたあとのSQL Serverデータベースが使用できなくなることがあります。SQL Serverデータベースが使用できなくなったときは,データベースをデタッチしてから,リストアを再実行してください。
- バックアップカタログの個々のバックアップ情報は,コピーグループをキーに管理されています。バックアップの取り方によっては,副ボリュームにバックアップデータがあっても,リストアできなくなる場合があります。詳細については,マニュアル「Hitachi Command Suite Replication Manager Software Application Agent CLI ユーザーズガイド」の,Application Agentを実行するための注意事項についての記述を参照してください。
- データベースをリストアすると,そのデータベースの所有者が,リストアを実行したユーザーに変更されます。所有者を変更する場合は,SQL Server Enterprise Managerで再度データベースをアタッチするか,システムストアドプロシージャ「sp_changedbowner」を使用してください。
- drmsqlrestoreコマンドは,処理中にSQL Serverの最小起動をします。データベースサーバでWindowsのファイアウォール機能を設定していた場合,drmsqlrestoreコマンドでシステムデータベース(master,model,msdb)を含むデータベースのリストアを実行すると,OSのファイアウォール機能がSQL Serverの通信をブロックするかどうかのダイアログが表示される場合があります。このダイアログが表示された場合,「ブロックしないを選択する」を選択してください。このダイアログに応答しない場合でもdrmsqlrestoreコマンドは問題なく処理を続行します。
0:正常終了した場合
0以外:エラーが発生した場合
- バックアップID「0000000001」で識別されるバックアップデータを,ディスク再同期でリストアする。
PROMPT> drmsqlrestore 0000000001 -resync- テンプレートカタログを使用して,バックアップID「0000000002」で識別されるバックアップデータをリストアする。
PROMPT> drmsqlrestore 0000000002 -resync -nochk_host -template KAVX0001-I drmsqlrestoreコマンドを開始します。 KAVX1316-I リストアの前処理を実行中です。 KAVX1000-I SQL Serverにログオンしました。 KAVX1300-I リストアを開始します。 KAVX1000-I SQL Serverにログオンしました。 KAVX1301-I リストアを完了しました。 KAVX1318-I リストアの後処理を実行中です。 KAVX1001-I SQL Serverからログオフしました。 KAVX0002-I drmsqlrestoreコマンドを終了します。- バックアップ時のSQL Serverインスタンスが「instA」,リストア先のSQL Serverインスタンスを「instB」のとき,バックアップID「0000000003」で識別される副ボリュームのバックアップデータをリストアする。
PROMPT> drmsqlrestore 0000000003 -no_resync -nochk_host -instance instB
All Rights Reserved. Copyright© 2010, 2014, Hitachi, Ltd.