6.3.3 データベースのレプリカのリストア
SQL Serverのデータベースのレプリカをリストアする手順について説明します。
- この項の構成
- (1) レプリカのリストアの流れ
- (2) リストアレプリカウィザードの概要
- (3) リストアレプリカウィザードの起動に関する要件
- (4) リストアレプリカウィザードの起動
- (5) レプリカのリストア
(1) レプリカのリストアの流れ
SQL Serverのデータベースのレプリカをリストアするには,リストアレプリカウィザードを使用します。このウィザードを完了するとコピーグループ単位のタスクが自動で登録されます。レプリカのリストアの処理は,即時実行されます。
レプリカのリストアの流れを次の図に示します。
図6-6 レプリカのリストアの流れ
![[図]](graphics/eu071000.gif)
(2) リストアレプリカウィザードの概要
Replication Managerでは,アプリケーションと連携してデータベースのレプリカをリストアするためのリストアレプリカウィザードを提供しています。アプリケーションのリソース(インスタンス,データベースなど)単位での最新復旧ポイントからのリストア,または,復旧ポイントを指定したリストアによって,データを復旧できます。
(3) リストアレプリカウィザードの起動に関する要件
リストアレプリカウィザードの起動時には,次に示す要件をすべて満たしている必要があります。
- リストアするためのコピーペアが存在すること。
- リストア対象の副ボリュームがマウントされていないこと。
マウントされている場合は,アプリケーションビューで該当するデータベースサーバの[レプリカ履歴]タブでレプリカを選択し,[アンマウントレプリカ]ボタンをクリックしてアンマウントしておいてください。
- データベースサーバのApplication Agentの設定で次の設定が完了していること。
- 対象のHORCMインスタンス
- バックアップサーバ(バックアップサーバを使用する場合)
- RAID Managerインストールパス
- SQLインスタンス
- バックアップサーバを使用する場合,バックアップサーバのApplication Agentの設定で次の設定が完了していること。
- 対象のHORCMインスタンス
- RAID Managerインストールパス
- SQLインスタンス(バックアップサーバでSQLインスタンスを起動する場合)
また,リストアを実行する前に,次の注意事項を参照してください。
- データベースサーバでリストアする場合は,あらかじめ副ボリュームをアンマウントしてから実行してください。副ボリュームをアンマウントしていないと,予期しないリストアが実行されることがあります。
- 名称を変更したSQL Serverデータベースに対してリストアを実行する場合,リストアを実行する前にリストア対象データベースをデタッチしておいてください。
- 業務プログラムをすべて停止してください。
- リストア先のSQL Serverデータベースの構成(ドライブ名およびパス)をレプリカ作成時と合わせてください。SQL Serverデータベースの構成がレプリカ作成時と異なる場合は,リストアできません。
- 非クラスタ構成の場合,リストア実行前に,正ボリューム上のファイルやディレクトリがほかのアプリケーションで使用されていないことを確認してください。
特に,次の点に注意してください。
・コマンドプロンプトで,正ボリュームにドライブを移動した場合は,コマンドプロンプトのウィンドウを閉じてください。正ボリューム以外にドライブを移動すると,アンマウント時にエラーとなります。
・エクスプローラで正ボリュームのドライブ下を開いている場合は,正ボリューム以外のドライブにポイントを移動するか,エクスプローラを終了してください。
・外部のコンピュータから正ボリュームのドライブ下を開いている場合は,開いているアプリケーションを終了させてください。
・常駐プロセス型の監視プログラムによって,正ボリュームが開かれている場合があります。この場合,監視プログラムを停止してください。
- リストア対象となるデータベースにアクセスするアプリケーションが停止していることを確認してください。アプリケーションとは,SQL Serverの上位アプリケーションを含んでいます。つまり,Reporting ServicesのようなSQL ServerコンポーネントもSQL Serverの上位アプリケーションに相当するため,リストアする前に停止していることを確認する必要があります。データベースに接続するアプリケーションが動作している場合,メタファイル適用後のロールフォワードに失敗することがあるため,正しくリストアできません。
例えば,ODBCセッションの確立ができないときにリトライするアプリケーションが実行中だと,メタファイル適用後のロールフォワード時にODBCセッションの確立要求が発行されて,ロールフォワードに失敗します。
- SQL Server Management Studioでリストアの対象となるデータベースを参照した場合,リストアする前に,SQL Server Management Studioで対象データベースとの接続を解除するか,またはSQL Server Management Studioを終了してください。
- リストア対象となるすべてのデータベースがリストアできる状態になっていることを確認してください。リストアできるデータベースの状態については,「6.3.1 レプリカの運用時の前提条件および注意事項(SQL Server)」の「(5) レプリカを管理するためのSQL Serverデータベースの条件」を参照してください。なお,「未確認」状態のデータベースは,自動的に削除され,リストアされます。
リストア対象に,リストアできない状態のデータベースが1つでもある場合,正常にリストアできないことがあります。リストアできない状態のデータベースを削除してから,再度リストアしてください。
クラスタ環境でリストアする場合,データベースを含むクラスタリソースがオフラインになるため,リストアの対象となっているデータベースは一時的に使用できなくなります。
- SQL Serverのシステムデータベースをリストアする場合,リストアの対象となるSQL Serverのサービスを一度停止します。したがって,リストアの対象となっているデータベースには一時的にアクセスできなくなります。リストアの実行中はSQL Serverに接続しないでください。
- 名称を変更したSQL Serverデータベースに対してリストアを実行する場合,必ずリストアの対象となるSQL Serverデータベースをデタッチしてください。デタッチしないでリストアした場合,コマンドが正常に終了しないで,リストアしたあとのSQL Serverデータベースが使用できなくなることがあります。SQL Serverデータベースが使用できなくなったときは,データベースをデタッチしてから,リストアを再実行してください。
(4) リストアレプリカウィザードの起動
目的に応じたリストアレプリカウィザードの起動方法を,次の表に示します。
目的 | リストアレプリカウィザードの起動方法 |
---|
最新のレプリカからリストアする | インスタンス一覧([インスタンス一覧]タブ)から,リストアするインスタンスを選択し,[リストアレプリカ]ボタンをクリックします。 選択したインスタンスを含むすべてのレプリカのうち,最新のレプリカの対象がリストアレプリカウィザードに表示されます。 |
復旧ポイントを選択してリストアする | レプリカ履歴一覧([レプリカ履歴]タブ)で作成時刻,対象のインスタンス,ラベルなどを確認した上でリストアするレプリカを選択し,[リストアレプリカ]ボタンをクリックします。 選択したレプリカの対象がリストアレプリカウィザードに表示されます。 |
重要- リストアレプリカウィザードは,ユーザーごとに設定されたユーザーロールによって実行できる操作が限定されます。ユーザーロールについては,「2.3.6 ユーザーロール」を参照してください。
(5) レプリカのリストア
レプリカのリストア手順を次に示します。
- RAID Managerのインスタンスを起動します。
データベースサーバとバックアップサーバにDevice Managerエージェントをインストールしていない場合(データベースサーバとバックアップサーバがペア管理サーバとしてReplication Managerに認識されていない場合),RAID Managerのインスタンスは自動的に起動しないため,あらかじめ起動しておく必要があります。起動方法については,マニュアル「Hitachi Command Suite Replication Manager Software システム構成ガイド」を参照してください。
重要- バックアップサーバの再起動時など,RAID Managerのインスタンスが停止状態になっている場合にも,手動で起動しておいてください。
- [エクスプローラ]メニューの[リソース]-[アプリケーション]を選択します。
アプリケーションサブウィンドウが表示されます。
- [SQL Server]リンクをクリックします。
SQL Serverサブウィンドウが表示されます。
- リストア対象のデータベースサーバを選択します。
<データベースサーバ名>サブウィンドウが表示されます。
- 目的に応じて[インスタンス一覧]タブまたは[レプリカ履歴]タブを選択します。
最新のレプリカからリストアする場合は[インスタンス一覧]タブを,復旧ポイントを選択してリストアする場合は[レプリカ履歴]タブを選択してください。
- リストア対象のインスタンスまたはレプリカを選択し,[リストアレプリカ]ボタンをクリックします。
リストアレプリカウィザードの[1. 対象の選択]画面が表示されます。
- リストア対象のインスタンスまたはデータベースを選択します。
- [次へ]ボタンをクリックします。
[2. オプション設定]画面が表示されます。
参考- リストアはボリューム単位で実施するため,手順7で選択したインスタンスまたはデータベースを含むボリューム内にほかのインスタンスまたはデータベースが含まれる場合,それらが自動的に選択された状態で再表示されます。この場合,再度[次へ]ボタンをクリックすると[2. オプション設定]画面が表示されます。
- リストアモードを選択します。
- [次へ]ボタンをクリックします。
[3. 確認]画面が表示されます。
- 指定した設定項目を確認してから,[確認]ボタンをクリックします。
[4. 完了]画面が表示されます。
- [完了]ボタンをクリックします。
ウィザードで指定した設定項目がタスクとして登録されます。タスクの[状態]欄で,リストアレプリカタスクの状態を確認します。タスクを確認するには,[エクスプローラ]メニューの[タスク]-[タスク]を選択します。
注意- リストアの実行中は,アプリケーションサーバなどのほかのコンピュータからリストアしているデータベースへ接続しないでください。接続した場合,リストア処理がエラーになることがあります。
重要- データベースをリストアすると,そのデータベースの所有者はリストアを実行したユーザーに変更されます。所有者を変更する場合は,SQL Server Management Studioで再度データベースをアタッチするか,システムストアドプロシージャ「sp_changedbowner」を使用してください。
参考- タスクは,タスク一覧から選択してキャンセルしたり再実行したりできます。