プロが教えるわが家の防犯対策術!

お世話になっております。

SQL Server2005のバックアップ・リストアに関する質問です。

環境はサーバ1台とクライアントが3台のC/S構成です。
クライアントのうち1台は、サーバが故障した場合に備えて、毎日、サーバと同じ状態にしています。

そのため、現在、以下の手順で、データベースのリストア作業を毎日行っています。
(1)サーバから完全バックアップ
(2)バックアップファイルをクライアントへコピー
(3)クライアントにリストア
(4)サーバからバックアップファイルを削除

しかし、データベースのサイズも大きくなり、(1)~(3)の作業に、かなりの時間を要するようになりました。

そこで、スピードアップを図るため、
・差分バックアップ
・トランザクションログバックアップ
いずれかを使用したいと考えています。

試しに、以下の手順でバックアップ→リストアを行うと、エラーが発生します。

【エラーが発生する手順】
(1)週末、サーバから完全バックアップ
(2)バックアップファイルをクライアントへコピー
(3)クライアントに復元
(4)サーバから完全バックアップファイルを削除
(5)週始め~差分バックアップ
(6)バックアップファイルをクライアントへコピー
(7)クライアントに復元
→「ロールフォーワードできる状態のファイルがないので、
 ログまたは差分バックアップは復元できません。」のエラー発生

バックアップファイルは、サーバにもクライアントにも残さず削除することが要求されているため、必ず(4)の完全バックアップファイルを削除しています。

一度、完全バックアップをリストアしているので、差分バックアップファイルが存在すれば、それをリストアできるように思っていました。

完全バックアップファイルが存在しなければ、差分バックアップをリストアすることはできないのでしょうか?
ヘルプを読んでみると、何となく、完全バックアップ+差分バックアップがセットで存在しなければリストアできないように認識しましたが、この認識は正しいでしょうか?

もし、完全バックアップファイルを削除すると、差分バックアップをリストアできないのであれば、バックアップファイルを残すことなく、差分のみをリストアする上手い方法がないでしょうか?

何かご存知の方がいらっしゃいましたら、ご教示よろしくお願いいたします。

A 回答 (1件)

>完全バックアップファイルが存在しなければ、差分バックアップをリストアすることはできないのでしょうか?



はい。できません。
差分バックアップは、その差分バックアップに含まれるデータの最新の完全バックアップに基づいて行われるものです。
そのため、完全バックアップが消えてしまっては、比較の元がないために、エラーになり、復元はできません。

詳しくは、マイクロソフトのサイトにも書いてありますので
ご覧下さい。

■差分バックアップ
http://msdn2.microsoft.com/ja-jp/library/ms17552 …

>もし、完全バックアップファイルを削除すると、差分バックアップをリストアできないのであれば、バックアップファイルを残すことなく、差分のみをリストアする上手い方法がないでしょうか?

差分バックアップではできないので、部分バックアップを
使って見ては、如何でしょうか?
部分バックアップは、SQL Server2005からサポートされている
ものです。

■部分バックアップ
http://msdn2.microsoft.com/ja-jp/library/ms19021 …

ただし、ストアドやテーブル等のオブジェクトの単純比較というレベル
の差分であれば、「SQL Server Compare」という
フリーソフトで管理することは可能です。

■SQL Server Compare
http://www.yessoft.com/dnn/

#それでも、テーブル内に格納されているデータに対する差分は、
 このツールでも無理です。
 その場合は、完全バックアップ + 差分バックアップか、部分バックアップのどちらかを取らない限り無理です。

ご参考になれば幸いです。
    • good
    • 0
この回答へのお礼

kero_mio様

とても詳しく、わかりやすく、ご丁寧な回答をいただき、本当にありがとうございましたm(_ _)m
とても貴重な情報となりました。

バックアップの考え方についても、理解が深まりました。

また、部分バックアップで行けるかもしれないので、もう少し、よく調べてみます。

本当にありがとうございました!

お礼日時:2008/01/15 10:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!