私は2に近いTBデータベースPRODであり、データベースのバックアップサイズが大きすぎる。
バックアップを取るたびに追加され、確認するとMicrosoftのサイトで
既存のメディアに別のバックアップセットを追加すると、メディアの以前のコンテンツはそのまま残り、新しいバックアップはメディアの最後のバックアップの終了後に書き込まれます。
この2つのオプションの主な用途は何ですか。
メディアに追加または既存のメディアを上書き
WITH NOINIT
を使用すると、複数のバックアップを1つのファイルに保持できます。 WITH INIT
は、既存のバックアップが含まれている場合、SQL Serverにバックアップファイルの内容を上書きさせます。 BACKUP DATABASE
のさまざまなWITH
オプションの詳細については、 Microsoft Docs を参照してください。
個人的には、複数のバックアップを保持する必要がある場合は、一意の名前を持つ複数のファイルを保持することを好みます。通常は、各ファイルの名前に日付を追加して、どのバックアップファイルが「古くなった」と見なされるかを簡単に判断できるようにします。それを行うかどうかは、目標復旧時点と目標復旧時間によって決まります。
したがって、私のバックアップコマンドは次のようになります。
DECLARE @date date;
DECLARE @filename varchar(260);
SET @date = GETDATE();
SET @filename = 'F:\Backups\xyz\xyz-' + CONVERT(varchar(30), @date, 112) + '.bak';
BACKUP DATABASE [xyz]
TO DISK = @filename
WITH INIT;
毎日、次のような一意の名前のバックアップファイルがF:\ Backups\xyzに作成されます。
F:\ Backups\xyz\xyz-20170411.bak
メディアに追加すると、複数のlogバックアップを簡単に復元できます。これは、復元処理中にプログラムでファイル名を決定する必要がないためです。