T-SQL BACKUPステートメントを使用してSQL Serverデータベースのバックアップを行う場合、WITH FORMAT
は指定されたメディアセットのみを消去するのですか、それともデータベースに「関連付けられた」すべてのメディアセットを消去しますか?
BACKUP DATABASE ExampleDatabase To DISK = N'...'
WITH FORMAT,
MEDIANAME = N'ExampleDatabase-Media-yyy-mm-dd-hh-mm',
NAME = 'ExampleDatabase-yyy-mm-dd-hh-mm',
COPY_ONLY
...
コンテキストは、サーバー間でad-hoc backup
およびrestores
を実行していることです。また、コマンドのFORMAT
が、作成された可能性のあるother Media Sets
をフォーマットしないようにしたいと思います。
FORMATを使用するバックアップステートメントが、ステートメントで定義したメディアセット以外のメディアセットを破棄することによって配置されている他のバックアップmaintenance plans
とinterfere
しないようにしたいと思います。
@zadam、メディアセットについて少しお話したいと思います。また、Mr. Aaron Bertrand
などのエキスパートや他のStackExchange DBAエキスパートからの詳細も期待しています。
まず、メディアセットとは何ですか?
バックアップ操作が成功すると、メディアセットに単一のバックアップセットが追加されます。
バックアップセットは、バックアップが属するメディアセットの観点から説明されています。バックアップメディアが1つのメディアファミリのみで構成されている場合、そのファミリにはバックアップセット全体が含まれます。
メディアセットは、バックアップメディアをフォーマットすることにより、バックアップ操作中にバックアップメディア上に作成されます。
既存のメディアセットへのバックアップ
既存のメディアセットにバックアップする場合、次の2つのオプションがあります。
- 既存のバックアップセットに追加します。
ここでの注意:-は、BACKUPのデフォルトの動作であり、NOINITオプションを使用して明示的に指定できます。
- 現在のメディアヘッダーはそのままにして、既存のすべてのバックアップセットを現在のバックアップで上書きします。
ここに注意:-既存のバックアップセットの上書きは、BACKUPステートメントのINITオプションを使用して指定します。
For Example:-
BACKUP DATABASE DatabaseName
TO DISK = 'd:\bu\mm_labeled.bak'
WITH MEDIANAME = 'BackupsToTheDDrive',
MEDIADESCRIPTION = 'Portable Drive Used for Backups',
INIT;
Grant Fritchey
のように ここ MediaSetIDはGUIDこのセットを一意に定義します。また、msdbに記録されるため、バックアップをバックアップにリンクできます特定のサーバー。
For example :
SELECT *
FROM dbo.backupmediaset AS b
WHERE b.media_uuid = '720C1417-3889-4730-9D33-74EBF11E854A' ;
たとえば、フルバックアップTSQLが次のようになる場合
Use DatabaseName
Go
Backup Database DatabaseName
To Disk=N'E:\Database_Backup\DatabaseName_Backup_16022016\DatabaseName.bak'
with FORMAT,
Medianame='E_SQLServerBackup',
Name='DatabaseName-Full Database Backup'
GO
バックアップメディア(ディスクファイルまたはテープ)のすべてのボリュームには、テープ(またはディスク)を使用する最初のバックアップ操作によって作成されるメディアヘッダーが含まれています。メディアが再フォーマットされるまで、ヘッダーはそのまま残ります。
このTSQLステートメントを実行してmedia_set_id
&'family_sequence_number'
について知る場合。
select * from msdb.dbo.backupmediafamily;
ここで、ディスクでバックアップを取る場合について説明します。したがって、常に「family_sequence_number」は1になります。ただし、テープでバックアップを取る場合、「family_sequence_number」はthe sequence number of the initial tape is 1, the sequence number of the second tape is 2, and so forth.
のようになります。
メディアヘッダーには、メディア(ディスクファイルまたはテープ)と、それが属するメディアファミリー内の場所を識別するために必要なすべての情報が含まれています。この情報は次のとおりです。
The name of the media.
The media name is optionally, but we recommend consistently using media names that clearly identify your media. A media name is assigned by whoever formats the media.
The unique identification number of the media set.
The number of media families in the media set.
The sequence number of the media family containing this media.
The unique identification number for the media family.
The sequence number of this media in the media family. For a disk file, this value is always 1.
The Microsoft Tape Format media label or the media description (in free-form text).
The name of the backup software that wrote the label.
The unique vendor identification number of the software vendor that formatted the media.
The date and time the label was written.
注:-ディスクの場合、メディアファミリ内のこのメディアのシーケンス番号。この値は常に1。
バックアップセットとともにテープメディアセットを参照する場合 メディアセット、メディアファミリ、およびバックアップセット(SQL Server) および ここ