Date: Wed, 27 Oct 2004 11:01:49 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、おはようございます
昨日、
第6回 : システムデータベースのバックアップとデータベースサーバーの再構築
http://www.sqlpassj.org/tokushu/backup/
上記の原稿を書いておりました。近日中に公開されます。
ページ数の都合で割愛したことがありますので、それをメモしたものを書きます。
SQL Server 2000 データベースサーバーのシステムデータベースが壊れたときの
復旧方法についてです。
ここでは、最悪のシナリオからの復元手順です。
【想定被害状況】
SQL Server 2000 のプログラムを収録したDISKは損害を受けなかったが
システムデータベースを収録したフォルダが全壊してしまった
【一般的な復旧方法】
rebuildmコマンドを使ったシステムデータベースを全部再構築する方法が
あります。
rebuildmでは、master,model,msdb,pubs,northwndの物理ファイルが
必要です。
【ここでの方法(実質的な内容はrebuildmとあまり変わらないかも?)】
実行できる条件:
masterデータベースの物理ファイル(master.mdf と mastlog.ldf)
と
modelデータベースの物理ファイル (model.mdf と modellog.ldf )
のコピーが手元にある場合に実行できる。
modelデータベースは、その辺で動いている SQL Server 2000 や
CD-ROM等から物理ファイルを入手すればよい。
また、msdbの物理ファイルまたはバックアップファイルも必要です。
madbは、通常、バックアップファイルからリストアするのがよい。
この点が、rebuildmとの違いがあります。rebuildmは物理ファイルから
の復元となっている。
手順−1:
masterデータベースの物理ファイルとmodelデータベースの物理ファイルを
既定のフォルダ(C:\Program Files\Microsoft SQL Server\MSSQL\Data)に
コピーする。
この物理ファイルは、システムデータベースが全壊する前の、出来る限り
直近に近いものがよい。
但し、システムデータベースのバックアップ(Backup Database文)を実行
しているときは、サーバーが動き出した後でそれをリストアすることができる。
手順−2:
SQL Serverのデータベースサービスを sqlservr.exe によって開始する。
但し、次のオプションスイッチを付ける。
sqlservr -c -m -T3608
トレースフラグT3608は、Books Onlineにはどこにも掲載されていないが、
マイクロソフトのサポートページなどから、このフラグは、masterデータベース
だけを確認して他のデータベースは組み込まずに(だから壊れた状態でもよい)
最低限の状態でデータベースサーバーを起動するスイッチとなる。
手順−3:
もう1つ別のコマンドプロンプトを立ち上げて
osql -E -Q"USE model"
または
osql -U sa -P pass -Q"USE model"
を実行します。
これにより、modelデータベースがシステムに組み込まれます。
このとき、modelデータベースの物理ファイルが、壊れる前と同じディレクトリ位置
に存在することが条件となる。
手順−4:
次に
osql -E -Q"USE tempdb"
または
osql -U sa -P pass -Q"USE tempdb"
を実行します。
これにより、modelデータベースを雛形としたtempdbデータベースが新しく
自動的に作成されます。
作成される位置は、tempdbデータベースが壊れる前と同じディレクトリ位置
です。
以上の操作によって、master,model,tempdbが復元されました。
手順−5:
手順ー2で起動したデータベースサービスをキーボードからCtrl-Cで中断して、
sqlservr -c
と入力して、データベースサーバーを再起動し直します。
手順ー6
msdbデータベースを復元します。直近のバックアップから復元操作を行ないます
osql -E -Q"restore database msdb from disk='d:\backup\msdb.bak' with
replace"
以上により、システムデータベース関係の復旧ができます。
この方法では、
(1)masterデータベースの物理ファイルが必ず必要
(2)msdbデータベースのバックアップファイルが必要
(3)壊れる前と復旧後のディレクトリ環境が同一であること
が、必要条件です。
------------------------------------
(株)日本技術ソフト開発
堀川 明 (Akira Horikawa)
10月27日(水曜日) 11時01分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|