
お世話になっております。
SQL Server2005のバックアップ・リストアに関する質問です。
環境はサーバ1台とクライアントが3台のC/S構成です。
クライアントのうち1台は、サーバが故障した場合に備えて、毎日、サーバと同じ状態にしています。
そのため、現在、以下の手順で、データベースのリストア作業を毎日行っています。
(1)サーバから完全バックアップ
(2)バックアップファイルをクライアントへコピー
(3)クライアントにリストア
(4)サーバからバックアップファイルを削除
しかし、データベースのサイズも大きくなり、(1)~(3)の作業に、かなりの時間を要するようになりました。
そこで、スピードアップを図るため、
・差分バックアップ
・トランザクションログバックアップ
いずれかを使用したいと考えています。
試しに、以下の手順でバックアップ→リストアを行うと、エラーが発生します。
【エラーが発生する手順】
(1)週末、サーバから完全バックアップ
(2)バックアップファイルをクライアントへコピー
(3)クライアントに復元
(4)サーバから完全バックアップファイルを削除
(5)週始め~差分バックアップ
(6)バックアップファイルをクライアントへコピー
(7)クライアントに復元
→「ロールフォーワードできる状態のファイルがないので、
ログまたは差分バックアップは復元できません。」のエラー発生
バックアップファイルは、サーバにもクライアントにも残さず削除することが要求されているため、必ず(4)の完全バックアップファイルを削除しています。
一度、完全バックアップをリストアしているので、差分バックアップファイルが存在すれば、それをリストアできるように思っていました。
完全バックアップファイルが存在しなければ、差分バックアップをリストアすることはできないのでしょうか?
ヘルプを読んでみると、何となく、完全バックアップ+差分バックアップがセットで存在しなければリストアできないように認識しましたが、この認識は正しいでしょうか?
もし、完全バックアップファイルを削除すると、差分バックアップをリストアできないのであれば、バックアップファイルを残すことなく、差分のみをリストアする上手い方法がないでしょうか?
何かご存知の方がいらっしゃいましたら、ご教示よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.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/
#それでも、テーブル内に格納されているデータに対する差分は、
このツールでも無理です。
その場合は、完全バックアップ + 差分バックアップか、部分バックアップのどちらかを取らない限り無理です。
ご参考になれば幸いです。
kero_mio様
とても詳しく、わかりやすく、ご丁寧な回答をいただき、本当にありがとうございましたm(_ _)m
とても貴重な情報となりました。
バックアップの考え方についても、理解が深まりました。
また、部分バックアップで行けるかもしれないので、もう少し、よく調べてみます。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
SQLについて質問です。 下記の...
-
ACCESS2007 フォーム 「バリア...
-
sqlserverで集計結果をUPDATEし...
-
SQL Date型の列から年月だけを...
-
sqlで、600行あるテーブルを100...
-
【VB.NET】日付型の列にNULLを...
-
SQL クエリ データ数
-
Microsoft SQL Serverについて
-
SQLをはじめから勉強するには
-
<SQL>重複しているデータの場合...
-
SQLサーバー接続 特定のPCがWin...
-
SQL Server management studio ...
-
Accessの重複なしのカウントの...
-
BULK INSERT時のNull許容について
-
SQL SERVER windows 認証エラー...
-
SQL文 複数実行
-
sqlserverでUPDATEできません
-
Wacom Cintiq 16 と Wacom Cint...
-
Tverは無料でしょうか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
ACCESS2007 フォーム 「バリア...
-
sqlserverで集計結果をUPDATEし...
-
BULK INSERT時のNull許容について
-
SQL Date型の列から年月だけを...
-
SQLCMDにて教えていただきたい...
-
SQLサーバー接続 特定のPCがWin...
-
SQL文 複数実行
-
Accessの重複なしのカウントの...
-
【VB.NET】日付型の列にNULLを...
-
sqlで、600行あるテーブルを100...
-
<SQL>重複しているデータの場合...
-
SQLサーバで和暦から西暦に変換...
-
SQL Server management studio ...
-
chr(13) と char(13) の違いっ...
-
Access2013で操作ログを残した...
-
【SQLサーバ】float型における...
-
sqlserverでUPDATEできません
-
Microsoft SQL Serverについて
-
sqlserverで同一キー単位で金額...
おすすめ情報