6.19.4 現用サーバのユーザーデータベースを二次利用サーバにリストアする
現用サーバのユーザーデータベースを,二次利用サーバにリストアする運用について説明します。
- 二次利用サーバがデータベースサーバ(現用サーバ)になっている場合,二次利用サーバのAlwaysOn可用性グループの構成を削除します。
- 二次利用サーバ(現用サーバ)のユーザーデータベースをデタッチします。
- 二次利用サーバ(現用サーバ)で,次の操作を実施します。
- SQL Serverインスタンスを停止する。
- 副ボリュームのファイルシステムをアンマウントする。
- 副ボリュームのディスクをオフラインに設定する。
- ユーザーデータベースを副ボリュームにバックアップします。
データベースサーバ(現用サーバ)で,drmsqlbackupコマンドに-targetオプションまたは-fオプションを指定して実行します。
drmsqlbackupコマンドに-targetオプションを指定して実行する場合:
PROMPT> drmsqlbackup <インスタンス名> -target <ユーザーデータベース名>
drmsqlbackupコマンドに-fオプションを指定して実行する場合:
PROMPT> drmsqlbackup <インスタンス名> -f <一括定義ファイル名>
コマンドを実行すると,データベースサーバ(現用サーバ)のバックアップカタログに,バックアップID(連番で未使用のID)でバックアップ情報が登録されます。
- ユーザーデータベースのトランザクションログをバックアップします。
データベースサーバ(現用サーバ)で,drmsqllogbackupコマンドを実行します。
PROMPT> drmsqllogbackup <インスタンス名>
トランザクションログのバックアップを実行したあとは,データベースサーバ(現用サーバ)のユーザーデータベースを更新しないでください。
- バックアップ情報をエクスポートします。
データベースサーバ(現用サーバ)でdrmdbexportコマンドを実行して,正ボリュームから副ボリュームへのバックアップ操作に関する情報を,ファイルにエクスポートします。
PROMPT> drmdbexport <バックアップID> -f <バックアップ情報ファイル名>
- ファイルを転送します。
二次利用サーバ(現用サーバ)に,次のファイルを転送します。
- エクスポートしたバックアップ情報ファイル
- VDIメタファイル
- トランザクションログバックアップファイル
- 二次利用サーバ(現用サーバ)で,次の操作を実施します。
- 副ボリュームのディスクをオンラインに設定する。
- 副ボリュームのファイルシステムをマウントする。
- SQL Serverインスタンスを起動する。
- バックアップ情報ファイルをインポートします。
二次利用サーバ(現用サーバ)でdrmdbimportコマンドを実行して,現用サーバでエクスポートしたバックアップ情報ファイルを,二次利用サーバ(現用サーバ)のバックアップカタログにインポートします。
PROMPT> drmdbimport -f <バックアップ情報ファイル名>
- バックアップ情報ファイルが正しくインポートされたか確認します。
二次利用サーバ(現用サーバ)で,drmsqlcatコマンドを実行します。
PROMPT> drmsqlcat インスタンス名>
- ユーザーデータベースをリストアします。
二次利用サーバ(現用サーバ)で,drmsqlrestoreコマンドを実行します。
PROMPT> drmsqlrestore <バックアップID> -no_resync -nochk_host -target <ユーザーデータベース名>
- ユーザーデータベースをリカバリします。
二次利用サーバ(現用サーバ)で,drmsqlrecovertoolコマンドを実行します。
PROMPT> drmsqlrecovertool <インスタンス名>
コマンドを実行すると,drmsqlrecovertoolダイアログボックスが表示されます。
次の条件を設定したあと,drmsqlrecovertoolの[Recovery]ボタンをクリックしてください。
- [Add]ボタンをクリックして,トランザクションログバックアップファイルをすべて選択する。
- [Recovery mode]を[Online]にする。
- [Roll forward?]を [Yes]にする。
- SQL Server Management Studioなどを使用して,二次利用サーバのAlwaysOn可用性グループの構成を作成します。