媒體集、媒體家族與備份組

單一媒體集是由一組一或多個備份媒體上的備份組成。「媒體集」是按順序排列的「備份媒體」集合 (磁帶或磁碟檔案),由一個或多個的備份作業使用固定的備份裝置類型與數量寫入。指定的媒體集不是使用磁帶機就是使用磁碟機,不會同時使用兩者。例如,與媒體集相關的備份裝置可能是三個磁帶機,分別稱為 \\.\TAPE0、\\.\TAPE1與\\.\TAPE2。此媒體集僅包含磁帶,一開始最少有三個磁帶 (每個磁帶機一個)。備份裝置類型與數量是在媒體集建立時確立,而且無法變更。不過,可在必要時以相同類型的裝置取代備份和還原作業間的指定裝置。

媒體集是在備份作業格式化備份媒體期間,於備份媒體上建立。如需詳細資訊,請參閱<建立新的媒體集>。完成格式化後,每個檔案或磁帶會包含媒體集的媒體標頭,且備妥要接收備份內容。有了適當的標頭,備份作業就可以在指定供作業使用的所有備份裝置上,繼續將指定的資料備份至備份媒體。

[!附註]

媒體集可以鏡像,避免損毀媒體磁碟區 (磁帶或磁碟檔案)。如需詳細資訊,請參閱<使用鏡像備份媒體集>。

SQL Server 2008 Enterprise 中已導入備份壓縮。從 SQL Server 2008 R2 開始,SQL Server 2008 R2 Standard 以及所有更高的版本都支援備份壓縮。每個 SQL Server 2008 版本與更新版本都可以還原壓縮的備份。壓縮和未壓縮的備份無法在媒體集中一起出現。如需詳細資訊,請參閱<備份壓縮 (SQL Server)>。

媒體家族

在單一非鏡像裝置上或媒體集鏡像裝置組上所建立的備份,即構成一個「媒體家族」(Media Family)。媒體集使用的備份裝置數量決定媒體集內的媒體家族數。例如,如果媒體集使用兩個非鏡像的備份裝置,此媒體集即包含兩個媒體家族。

[!附註]

在鏡像的媒體集中,每個媒體家族都是鏡像。例如,如果使用六個備份裝置格式化媒體集,其中兩個使用鏡像,共有三個媒體家族,每個都包含兩份等量的備份資料。如需有關鏡像媒體集的詳細資訊,請參閱<使用鏡像備份媒體集>。

媒體家族內的每個磁帶或磁碟都會指派一個「媒體序號」。磁碟的媒體序號永遠是 1。在磁帶媒體家族中,初始磁帶的序號為 1,第二個磁帶的序號為 2,以此類推。如需詳細資訊,請參閱<使用媒體集與家族>。

媒體標頭

備份媒體 (磁碟檔案或磁帶) 的每個磁碟區都包含一個媒體標頭,此標頭是由使用磁帶 (或磁碟) 的第一個備份作業所建立。此標頭會保持不變,直到重新格式化媒體。

媒體標頭包含識別媒體 (磁碟檔案或磁帶) 所需的所有資訊,而標頭會位在所屬的媒體家族內。這項資訊包括:

  • 媒體的名稱。

    (選擇性) 建議您使用可清楚識別媒體的媒體名稱。媒體名稱是由格式化該媒體的人指派。

  • 媒體集的唯一識別碼。

  • 媒體集內的媒體家族編號。

  • 包含此媒體之媒體家族的序號。

  • 媒體家族的唯一識別碼。

  • 媒體家族內此媒體的序號。對於磁碟檔案,這個值永遠為 1。

  • 媒體描述是否包含 MTF 媒體標籤或媒體描述。

    [!附註]

    備份或還原作業所用的所有媒體都使用稱為 Microsoft Tape Format (MTF) 的標準備份格式。MTF 允許使用者指定包含 MTF 特定描述的磁帶標籤。SQL Server 保留其他應用程式寫入的任何 MTF 媒體標籤,但是不會寫入 MTF 媒體標籤。

  • Microsoft Tape Format 媒體標籤或媒體描述 (自由形式文字)。

  • 寫入標籤的備份軟體名稱。

  • 格式化媒體之軟體廠商的唯一廠商識別碼。

  • 寫入標籤時的日期和時間。

  • 媒體集內的鏡像數目 (1-4);1 代表無鏡像裝置。

SQL Server 2008 可處理由舊版 SQL Server 格式化的媒體。

重要事項重要事項

因為媒體標頭有所變更,所以 SQL Server 7.0 與 SP4 以前的 SQL Server 2000 版本都無法解譯使用 SQL Server 2008 格式化的媒體。不過,SQL Server 2000 SP4 可支援媒體標頭的變更。

若要讀取備份裝置上媒體的媒體標頭

備份組

成功的備份作業會將一個「備份組」新增到媒體集。這個備份組是根據備份所屬的媒體集加以描述。如果備份媒體僅由一個媒體家族組成,則該家族就包含整個備份組。如果備份媒體由多個媒體家族組成,則備份組會分散於其中。在每個媒體上,備份組都會包含描述該備份組的標頭。

以下範例顯示一個 Transact-SQL 陳述式,為使用三個磁帶機做為備份裝置的 AdventureWorks2008R2 資料庫,建立稱為 MyAdvWorks_MediaSet_1 媒體集。

BACKUP DATABASE AdventureWorks2008R2
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'
WITH 
   FORMAT,
   MEDIANAME = 'MyAdvWorks_MediaSet_1';

如果成功,此備份作業會產生新的媒體集,內含新的媒體標頭與一個分佈於三個磁帶的備份組。下圖說明這些結果:

媒體標頭和 3 個磁帶上的第一個備份組

一般來說,媒體集建立之後,隨後接連發生的備份作業,將會它們的備份組附加到媒體集。媒體集是由備份組使用的所有媒體組成,不論包含的媒體或備份裝置數目為何。備份組會根據它們在媒體集內的位置連續編號,您可以用以指定要還原的備份組。

媒體集的每個備份作業必須寫入同一個的備份裝置編號與類型。如同第一個備份組一樣有多個裝置,隨後每個備份組的內容會分佈在所有裝置上的備份媒體中。繼續上述範例,第二個備份作業 (差異備份) 將資訊附加到相同的媒體集:

BACKUP DATABASE AdventureWorks2008R2
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'
WITH 
   NOINIT,
   MEDIANAME = 'AdventureWorksMediaSet1',
   DIFFERENTIAL;

[!附註]

NOINIT 選項是預設值,為了表明而包括於上。

如果第二個備份作業成功,就會將第二個備份組寫入媒體集,接連散發備份內容:

分散在 3 個媒體集磁帶上的第二個備份組

當您要還原備份時,可以使用 FILE 選項來指定所要使用的備份。下列範例顯示 FILE **=**backup_set_file_number 子句在還原 AdventureWorks2008R2 資料庫的完整資料庫備份時的用法,並接著示範在相同媒體集上進行差異資料庫備份。這個媒體集使用三個備份磁帶,分別位於磁帶機 \\.\tape0、tape1 和 tape2。

RESTORE DATABASE AdventureWorks2008R2 FROM TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'
   WITH 
   MEDIANAME = 'AdventureWorksMediaSet1',
   FILE=1, 
   NORECOVERY;
RESTORE DATABASE AdventureWorks2008R2 FROM TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2' 
   WITH 
   MEDIANAME = 'AdventureWorksMediaSet1',
   FILE=2, 
   RECOVERY;
GO

如需有關儲存媒體集與其媒體家族及備份組相關資訊之記錄資料表的詳細資訊,請參閱<檢視備份相關資訊>。

媒體集內的備份媒體數量取決於數個因素:

  • 備份裝置數量

  • 備份裝置類型

  • 備份組數量

若要檢視特定裝置上的備份組