調査結果
1000個のデータベースを作成した環境でmaster データベースの自動リストアがハングアップする現象が再現する。
これは、SQLサーバーが再起動に時間を要し、かつその間にSQLサーバーに接続可能なために発生いたします。
詳細につきましては以下の通りです。
◆ SQL Agentによるmasterリストア時の動作状況
-----
1. master データベースの自動リストアでは、SQLサーバーをシングルユーザーモードで再起動します。
2. 再起動後、SQLサーバーは1000個のデータベースを順次起動します。
3. 2番の処理中は、SQLサーバーに正常に接続できます。
4. Backup Execは SQL サーバーに接続できるので、リストアSQLコマンドを発行します。
5. SQLサーバーは処理中なので、SQLコマンドが応答無しとなります。
6. 1時間後にSQLコマンドのタイムアウトが発生し、接続エラーを報告します。
-----
リモートエージェントの異常終了につきましては、発生しない場合があるが異常終了する場合もある。
SQL Serverが反応しない的な発言であるが、SQL Server自体に問題はない。
Symantec Backup Exec 自体の問題です。
SQL Server master データベースの暫定リストア方法
約1000個の大量のデータベースのSQL Server環境では、SQLサーバーの再起動において前述の問題が発生します。
# SQL Server 自体に問題はない。SQL Server 正規のリストア方法では短時間でリストア出来るので。
[参考]
SQL Server 2008 オンライン ブック (2009 年 7 月)
SQL Server サービスのスタートアップ オプションの使用
http://msdn.microsoft.com/ja-jp/library/ms190737.aspx
Backup Exec SQL Server エージェントと利用してmaster データベースをリストアされる場合は、事前にSQLサーバーをシングルユーザーモードで起動し、すべてのデータベースの起動が終わり、システムが安定した状態でリストアを実施する。
■ Backup Exec SQL リストアジョブオプションについて
・[master データベースのリストアを自動化する]のチェックを外す
・[既存の保存先データベースをオフラインにする]にチェックをする
・[既存のデータベースを上書きする]にチェックをする
■ データベースの一貫性チェックについて
リストア後のデータベースの一貫性チェックについては、実施いただきましても問題ない。
■リストア後の作業について
Backup Exec リストアジョブ完了後に手動でシングルユーザーモードを解除いただき、SQLサーバーを再起動する
# Backup Exec SQL Server masterデータベースリストアジョブが完了すると勝手にシングルユーザーモードのSQL Serverはダウンする。