多数のデータベースを持つSQL Serverにmasterデータベースをリストアするとエラーになる

 

環境

・バックアップサーバー
Windows Server 2008 SP2
Backup Exec 12.5
・バックアップ対象
Windows Server 2008 SP2
Symantec Backup Exec Microsoft SQL Server エージェント
SQL Server 2008

現象

masterデータベースをリストアすると、エラーになる。
リストアジョブを開始し2時間くらいたつと、ジョブが失敗で終わる。
SQL Server 自体の機能でのリストアをした場合は、5分程度で終わる。
リストアジョブエラーは、バックアップ対象側のBackup Exec Agentサービスがダウンしてしまい、ジョブがエラーとなる。

ログの名前:         Application
ソース:           Application Error
イベント ID:       1000
タスクのカテゴリ:      (100)
レベル:           エラー
キーワード:         クラシック
ユーザー:          N/A
説明:
障害が発生しているアプリケーション beremote.exe、バージョン 12.5.2213.163、タイム スタンプ 0x4b3a2735、障害が発生しているモジュール bedssql2.dll、バージョン 12.5.2213.154、タイム スタンプ 0x4ab12964、例外コード 0xc0000005、障害オフセット 0x000000000003a4b9、 プロセス ID 0xe30、アプリケーションの開始時刻 0x01cac81cd7f7b790。

masterデータベースリストア時のオプションは
[master データベースのリストアを自動化する]のチェックを入れたリストア方法

調査結果

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はダウンする。


サブページ リスト

更新日:2010/04/20
Comments