BACKUP (Transact-SQL)

備份 SQL 資料庫。

按一下下列其中一個索引標籤,以查看您所使用特定 SQL 版本的語法、引數、備註、權限和範例。

如需語法慣例的詳細資訊,請參閱 Transact-SQL 語法慣例

選取產品

在以下資料列中,選取您感興趣的產品名稱,隨即只會顯示該產品的資訊。

* SQL Server *  

 

SQL Server

備份完整 SQL Server 資料庫以建立資料庫備份,或備份資料庫的一或多個檔案或檔案群組以建立檔案備份 (BACKUP DATABASE)。 同時,可在完整復原模式或大量記錄復原模式下備份資料庫的交易記錄,以建立記錄備份 (BACKUP LOG)。

語法

--Backing Up a Whole Database
BACKUP DATABASE { database_name | @database_name_var }
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL
           | <general_WITH_options> [ ,...n ] } ]
[;]

--Backing Up Specific Files or Filegroups
BACKUP DATABASE { database_name | @database_name_var }
 <file_or_filegroup> [ ,...n ]
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

--Creating a Partial Backup
BACKUP DATABASE { database_name | @database_name_var }
 READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

--Backing Up the Transaction Log (full and bulk-logged recovery models)
BACKUP LOG
  { database_name | @database_name_var }
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { <general_WITH_options> | \<log-specific_optionspec> } [ ,...n ] ]
[;]

<backup_device>::=
 {
  { logical_device_name | @logical_device_name_var }
 | {   DISK
     | TAPE
     | URL } =
     { 'physical_device_name' | @physical_device_name_var | 'NUL' }
 }

<MIRROR TO clause>::=
 MIRROR TO <backup_device> [ ,...n ]

<file_or_filegroup>::=
 {
   FILE = { logical_file_name | @logical_file_name_var }
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 }

<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

<general_WITH_options> [ ,...n ]::=
--Backup Set Options
   COPY_ONLY
 | { COMPRESSION | NO_COMPRESSION }
 | DESCRIPTION = { 'text' | @text_variable }
 | NAME = { backup_set_name | @backup_set_name_var }
 | CREDENTIAL
 | ENCRYPTION
 | FILE_SNAPSHOT
 | { EXPIREDATE = { 'date' | @date_var }
        | RETAINDAYS = { days | @days_var } }

--Media Set Options
   { NOINIT | INIT }
 | { NOSKIP | SKIP }
 | { NOFORMAT | FORMAT }
 | MEDIADESCRIPTION = { 'text' | @text_variable }
 | MEDIANAME = { media_name | @media_name_variable }
 | BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
   { NO_CHECKSUM | CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Compatibility Options
   RESTART

--Monitoring Options
   STATS [ = percentage ]

--Tape Options
   { REWIND | NOREWIND }
 | { UNLOAD | NOUNLOAD }

--Log-specific Options
   { NORECOVERY | STANDBY = undo_file_name }
 | NO_TRUNCATE

--Encryption Options
 ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
   `SERVER CERTIFICATE` = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name

引數

DATABASE
指定完整的資料庫備份。 如果指定了檔案和檔案群組清單,就只會備份這些檔案和檔案群組。 在完整或差異資料庫備份期間,SQL Server 會備份足夠的交易記錄,以便在還原備份時,產生一致的資料庫。

當您還原 BACKUP DATABASE 所建立的備份 (「資料備份」) 時,就會還原整個備份。 只有記錄備份可以還原至備份內的特定時間或交易。

注意

master 資料庫上只能執行完整資料庫備份。

記錄
指定只備份交易記錄。 記錄的備份是從最後執行成功的記錄備份至目前的記錄結尾。 您必須先建立完整備份,才能建立第一個記錄備份。

您可以透過在 RESTORE LOG 陳述式中指定 WITH STOPATSTOPATMARKSTOPBEFOREMARK,以將記錄備份還原至備份內的特定時間或交易。

注意

建立典型的記錄備份之後,除非您指定 WITH NO_TRUNCATECOPY_ONLY,否則有些交易記錄檔記錄會變成非使用中狀態。 當一個或多個虛擬記錄檔案中的所有記錄變成非使用中狀態之後,記錄會發生截斷。 如果記錄在例行的記錄備份之後並未截斷,可能會發生延遲記錄截斷。 如需詳細資訊,請參閱可能會延遲記錄截斷的因素

{資料庫 _ 名稱 | @ 資料庫 _ 名稱 _ var }
這是要備份交易記錄、部分資料庫或完整資料庫的來源資料庫。 如果這個名稱是以變數 ( @ database_name_var) 的形式提供,您還可以將這個名稱指定為字串常數 ( @ database_name_var = database name),或指定為字元字串資料類型的變數,但 ntexttext 資料類型除外。

注意

資料庫鏡像合作關係中的鏡像資料庫無法備份。

<file_or_filegroup> [ , ...n ]
只能搭配 BACKUP DATABASE 使用,可用來指定要包含在檔案備份中的資料庫檔案或檔案群組,或是指定要包含在部分備份中的唯讀檔案或檔案群組。

FILE = { logical_file_name | @ logical _ file _ name _ var }
這是指要包含在備份中的檔案邏輯名稱,或是其值等於該檔案邏輯名稱的變數。

FILEGROUP {邏輯檔案群組名稱邏輯檔案組 = _ _ | @ _ _ 名 _ var }
這是指要包含在備份中的檔案群組邏輯名稱,或是其值等於該檔案群組邏輯名稱的變數。 在簡單復原模式之下,只允許唯讀檔案群組使用檔案群組備份。

注意

當資料庫備份因資料庫大小和效能需求而不可行時,請考慮使用檔案備份。 NUL 裝置可用來測試備份的效能,但不應用於生產環境。

n-1
這是一個預留位置,表示可以在逗號分隔清單中指定多個檔案和檔案群組。 數目沒有限制。

如需詳細資訊,請參閱完整檔案備份備份檔案和檔案群組

READ_WRITE_FILEGROUPS [ FILEGROUP = { logical _ filegroup _ name | @ logical _ filegroup _ name _ var } [ .。。n ]]
指定部分備份。 部分備份包含資料庫中所有的讀取/寫入檔案:主要檔案群組和任何一種讀取/寫入次要檔案群組,以及任何指定的唯讀檔案或檔案群組。

READ_WRITE_FILEGROUPS
指定要在部分備份進行備份的所有讀取/寫入檔案群組。 如果資料庫是唯讀的,READ_WRITE_FILEGROUPS 只會包括主要檔案群組。

重要

使用 FILEGROUP 取代 READ_WRITE_FILEGROUPS 來明確列出讀取/寫入檔案群組,以建立檔案備份。

FILEGROUP = { logical_filegroup_name | @ 邏輯檔案 _ 組 _ 名 _ var }
這是指要包含在部分備份中的唯讀檔案群組邏輯名稱,或是其值等於該唯讀檔案群組邏輯名稱的變數。 如需詳細資訊,請參閱本主題先前討論的 "<file_or_filegroup>"。

n-1
這是一個預留位置,表示可以在逗號分隔清單中指定多個唯讀檔案群組。

如需部分備份的詳細資訊,請參閱部分備份

TO <backup_device> [ , ...n ] 指出隨附的 備份裝置集合是未鏡像的媒體集,或鏡像媒體集內的第一個鏡像 (已為其宣告了一或多個 MIRROR TO 子句)。

<backup_device>
指定備份作業要使用的邏輯或實體備份裝置。

{ logical_device_name | @邏輯 _ 設備 _ 名稱 _ var }
適用於: SQL Server
這是用來備份資料庫之備份裝置的邏輯名稱。 邏輯名稱必須遵照識別碼的規則。 如果備份裝置名稱是以變數 (@logical_device_name_var) 提供,就可將它指定為字串常數 (@logical_device_name_var = 邏輯備份裝置名稱) 或任何字元字串資料類型的變數,但 ntexttext 資料類型除外。

{磁片 |磁帶 | URL} = { '實體 _ 裝置 _ 名稱' | @ 實體 _ 裝置 _ 名稱 _ var | ' NUL '}
適用于: SQL Server 從 SP1 CU2 開始 (URL SQL Server 2012 (11.x))

指定磁碟檔案或磁帶裝置,或是 Microsoft Azure Blob 儲存體服務。 URL 格式可用來建立備份至 Microsoft Azure 儲存體服務。 如需詳細資訊和範例,請參閱使用 Microsoft Azure Blob 儲存體服務進行 SQL Server 備份及還原。 如需教學課程,請參閱教學課程:SQL Server 備份及還原至 Microsoft Azure Blob 儲存體服務

注意

NUL 磁碟裝置將捨棄傳送給它的所有資訊,而且只應用於測試。 這不適用於生產環境。

重要

從 SQL Server 2012 (11.x) SP1 CU2 開始至 SQL Server 2014 (12.x),當您備份至 URL 時,可以只備份到單一裝置。 為了在備份到 URL 時能夠備份到多部裝置,您必須使用 SQL Server 2016 (13.x) 及更新版本,且必須使用共用存取簽章 (SAS) 權杖。 如需建立共用存取簽章的範例,請參閱 SQL Server 備份至 URL在 Azure 儲存體上使用 Powershell 搭配共用存取簽章 (SAS) 權杖來簡化 SQL 認證的建立 (英文)。

在 BACKUP 陳述式內指定磁碟裝置之前,該裝置不需要存在。 如果實體裝置存在,且 BACKUP 陳述式並未指定 INIT 選項,就會將備份附加至裝置中。

注意

NUL 裝置將捨棄傳送到此檔案的所有輸入,不過,備份仍會將所有頁面標記為已備份。

如需詳細資訊,請參閱備份裝置

注意

未來的 SQL Server 版本將移除 TAPE 選項。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

n-1
這是一個預留位置,表示可以在逗號分隔清單中指定最多達 64 個備份裝置。

鏡像至 <backup_device> [ .。。n ]
指定最多三個次要備份裝置的集合,其中每個裝置都會鏡像 TO 子句中指定的備份裝置。 MIRROR TO 子句必須指定與 TO 子句相同的備份裝置類型和數目。 最大 MIRROR TO 子句數目是 3。

只有 SQL Server 的 Enterprise 版本才提供這個選項。

注意

若為 MIRROR TO = DISK ,則備份會根據磁片的磁區大小,自動決定磁片裝置的適當區塊大小。 如果使用與指定為主要備份裝置的磁碟不同的磁區大小來格式化 MIRROR TO 磁碟,備份命令將會失敗。 為了鏡像具有不同磁區大小的裝置備份,必須指定 BLOCKSIZE 參數,且應該設定為所有目標裝置之間的最大磁區大小。 如需區塊大小的詳細資訊,請參閱本主題稍後的<BLOCKSIZE>。

<backup_device>
請參閱本節先前討論的 "<backup_device>"。

n-1
這是一個預留位置,表示可以在逗號分隔清單中指定最多達 64 個備份裝置。 MIRROR TO 子句中的裝置數目必須等於 TO 子句中的裝置數目。

如需詳細資訊,請參閱本主題稍後備註一節中的<鏡像媒體集中的媒體家族>。

[ next-mirror-to ]
這是一個預留位置,表示單一 BACKUP 陳述式除了可以包含單一 TO 子句,還可以包含最多 3 個 MIRROR TO 子句。

WITH 選項

指定要搭配備份作業使用的選項。

CREDENTIAL
適用 于: SQL Server (從 SQL Server 2012 (11.x) SP1 CU2) 開始。

只有當建立備份到 Microsoft Azure Blob 儲存體服務時才使用。

FILE_SNAPSHOT
適用於:SQL Server (從 SQL Server 2016 (13.x) 起)。

使用 Azure Blob 儲存體服務來儲存所有 SQL Server 資料庫檔案時,用來建立資料庫檔案的 Azure 快照集。 如需詳細資訊,請參閱 Microsoft Azure 中的 SQL Server 資料檔案。 SQL Server 快照集備份會以一致的狀態建立資料庫檔案 (資料和記錄檔) 的 Azure 快照集。 一組一致的 Azure 快照集會組成一個備份,並記錄於備份檔案中。 BACKUP DATABASE TO URL WITH FILE_SNAPSHOTBACKUP LOG TO URL WITH FILE_SNAPSHOT 之間的唯一差異是,後者也會截斷交易記錄,但前者不會。 使用 SQL Server 快照集備份,在 SQL Server 建立備份鏈結所需的初始完整備份之後,只需使用單一交易記錄備份就能將資料庫還原至交易記錄備份的時間點。 此外,只需要兩個交易記錄備份,就能將資料庫還原至這兩個交易記錄備份時間之間的時間點。

DIFFERENTIAL
只能搭配 BACKUP DATABASE 使用,可用來指定資料庫或檔案備份應該只含有資料庫或檔案在前次完整備份之後又變更過的部分。 差異備份所用的空間通常會比完整備份少。 使用這個選項,便不需要套用自前次完整備份之後所執行的所有個別記錄備份。

注意

根據預設,BACKUP DATABASE 會建立完整備份。

如需詳細資訊,請參閱差異備份

ENCRYPTION
用來指定備份的加密。 您可以指定加密演算法來加密備份,或指定 NO_ENCRYPTION 不加密備份。 加密是有助於保護備份檔案的建議作法。 您可以指定的演算法清單包括:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

如果您選擇加密,則也需要使用加密程式選項指定加密程式:

  • SERVER CERTIFICATE = Encryptor_Name
  • SERVER ASYMMETRIC KEY = Encryptor_Name

SERVER CERTIFICATESERVER ASYMMETRIC KEY 是在資料庫 master 中建立的憑證與非對稱金鑰。 如需詳細資訊,請各別參閱 CREATE CERTIFICATE 以及 CREATE ASYMMETRIC KEY

警告

搭配 FILE_SNAPSHOT 引數使用加密時,中繼資料檔案本身會使用指定的加密演算法進行加密,而系統會確認已針對資料庫完成透明資料加密 (TDE)。 對於資料本身則不會進行任何其他加密。 如果未加密資料庫,或者發出備份陳述式之前未完成加密,備份就會失敗。

備份組選項

這些選項會處理這個備份作業所建立的備份組。

注意

若要指定還原作業的備份組,請使用 FILE = <backup_set_file_number> 選項。 如需如何指定備份組的詳細資訊,請參閱 RESTORE 引數中的<指定備份組>。

COPY_ONLY
指定備份為「僅複製備份」,這不會影響正常的備份順序。 僅複製備份的建立與定期排程的傳統備份無關。 僅複製備份並不會影響資料庫的整體備份和還原程序。

僅複製備份應該用於需要執行備份來達成特定用途的情況 (例如,在線上檔案還原之前備份記錄檔)。 通常,僅複製記錄備份用過一次後便會刪除。

  • 搭配 BACKUP DATABASE 使用時,COPY_ONLY 選項會建立無法作為差異基底使用的完整備份。 差異點陣圖不會更新,而且差異備份的行為會如同僅複製備份並不存在。 後續的差異備份會使用最新的傳統完整備份做為其基底。

    重要

    如果同時使用 DIFFERENTIALCOPY_ONLY,即會忽略 COPY_ONLY 並建立差異備份。

  • 搭配 BACKUP LOG 使用時,COPY_ONLY 選項會建立「僅複製記錄備份」,這不會截斷交易記錄。 僅複製記錄備份不會影響記錄檔鏈結,而且其他記錄備份的行為會如同僅複製備份並不存在。

如需詳細資訊,請參閱只複製備份

{ COMPRESSION | NO_COMPRESSION }
只有在 SQL Server 2008 Enterprise 及更新版本中,才指定是否要在此備份上執行備份壓縮,以覆寫伺服器層級的預設值。

進行安裝時,預設行為是不壓縮備份。 但是,您可以設定 backup compression default 伺服器設定選項來變更此預設值。 如需檢視此選項目前值的資訊,請參閱檢視或變更伺服器屬性

如需搭配已啟用透明資料加密 (TDE) 之資料庫使用備份壓縮的相關資訊,請參閱備註一節。

COMPRESSION
明確啟用備份壓縮。

NO_COMPRESSION
明確停用備份壓縮。

描述 = { 'text' | @ 文字 _ 變數}
指定描述備份組的自由形式文字。 這個字串最多可有 255 個字元。

名稱 = { backup_set_name | @ 備份 _ 集的 _ var }
指定備份組的名稱。 名稱最多可有 128 個字元。 如果未指定 NAME,它就是空白。

{ EXPIREDATE ='date' | RETAINDAYS = days }
指定何時可以覆寫這個備份的備份組。 如果同時使用這兩個選項,RETAINDAYS 會優先於 EXPIREDATE。

如果沒有指定任何選項,便會由 mediaretention 組態設定來決定到期日。 如需詳細資訊,請參閱伺服器設定選項

重要

這些選項只會防止 SQL Server 覆寫檔案。 您可以利用其他方法來清除磁帶,並利用作業系統來刪除磁碟檔案。 如需有關期限驗證的詳細資訊,請參閱這個主題中的 SKIP 和 FORMAT。

EXPIREDATE = { 'date' | @ date _ var }
指定備份組到期且可加以覆寫的時間。 如果這個日期是以變數 (@date_var) 提供,則它必須遵照所設定的系統 datetime 格式,且必須指定為下列其中一項:

  • 字串常數 (@date_var = date)
  • 字元字串資料類型的變數 (ntexttext 資料類型除外)
  • smalldatetime
  • datetime 變數

例如:

  • 'Dec 31, 2020 11:59 PM'
  • '1/1/2021'

如需如何指定 datetime 值的相關資訊,請參閱 日期和時間類型

注意

若要忽略到期日,請使用 SKIP 選項。

RETAINDAYS = { days | @ days _ var }
指定必須經過多少天之後,才能覆寫這個備份媒體集。 如果是以變數 ( @ days_var) 提供,就必須將它指定為整數。

媒體集選項

這些選項會處理整個媒體集。

{ NOINIT | INIT }
控制備份作業要附加還是覆寫至備份媒體上的現有備份組。 預設是附加至媒體上的最新備份組 (NOINIT)。

注意

如需 { NOINIT | INIT } 與 { NOSKIP | SKIP } 間之互動的相關資訊,請參閱本主題稍後的 備註

NOINIT
指出將備份組附加至指定的媒體集,以保留現有的備份組。 如果定義了媒體集的媒體密碼,您就必須提供密碼。 NOINIT 是預設值。

如需詳細資訊,請參閱媒體集、媒體家族與備份組

INIT
指定應該覆寫所有備份組,但保留媒體標頭。 如果指定 INIT,就會覆寫這個裝置中任何現有的備份組 (如果條件允許)。 依預設,BACKUP 會檢查下列狀況,如果任何一種狀況存在,就不會覆寫備份媒體:

  • 有尚未到期的備份組。 如需詳細資訊,請參閱 EXPIREDATERETAINDAYS 選項。
  • BACKUP 陳述式所提供的備份組名稱 (如果有提供) 不符合備份媒體中的名稱。 如需詳細資訊,請參閱本節前面的 NAME 選項。

若要覆寫這些檢查,請使用 SKIP 選項。

如需詳細資訊,請參閱媒體集、媒體家族與備份組

{ NOSKIP | SKIP }
控制備份作業在覆寫媒體上的備份組之前是否要先檢查備份組的到期日和時間。

注意

如需 { NOINIT | INIT } 與 { NOSKIP | SKIP } 間之互動的相關資訊,請參閱本主題稍後的<備註>。

NOSKIP
指示 BACKUP 陳述式先檢查媒體中所有備份組的到期日,才允許覆寫它們。 這是預設行為。

SKIP
停用通常是由 BACKUP 陳述式所執行的備份組期限和名稱的檢查,以防止覆寫備份組。 如需有關 { INIT | NOINIT } 和 { NOSKIP | SKIP } 之間互動的詳細資訊,請參閱本主題稍後的<備註>一節。 若要檢視備份組的到期日,請查詢 backupset 記錄資料表的 expiration_date 資料行。

{ NOFORMAT | FORMAT }
指定是否要將媒體標頭寫入這項備份作業所使用的磁碟區,以覆寫任何現有的媒體標頭和備份組。

NOFORMAT
指定備份作業保留這項備份作業所使用之媒體磁碟區上的現有媒體標頭和備份組。 這是預設行為。

FORMAT
指定建立新的媒體集。 FORMAT 會導致備份作業在備份作業使用的所有媒體磁碟區中寫入新的媒體標頭。 磁碟區的現有內容會變成無效,因為任何現有的媒體標頭和備份組都會遭到覆寫。

重要

請謹慎使用 FORMAT。 格式化媒體集的任何磁碟區,會使得整個媒體集無法使用。 例如,如果您初始化屬於現有等量媒體集的單一磁帶,整個媒體集都會變成無法使用。

指定 FORMAT 意味著 SKIP;您不需要明確指示 SKIP

MEDIADESCRIPTION = { text | @ text _ variable }
指定媒體集自由形式的文字描述,最多 255 個字元。

MEDIANAME = { media_name | @ 媒體 _ 名稱 _ 變數}
指定整個備份媒體集的媒體名稱。 媒體名稱不能超出 128 個字元,如果指定 MEDIANAME,它必須符合先前所指定且已存在備份磁碟區的媒體名稱。 如果未指定或指定了 SKIP 選項,就不會進行媒體名稱的驗證檢查。

BLOCKSIZE = { blocksize | @ blocksize_variable }
指定實體區塊大小 (以位元組為單位)。 支援的大小為 512、1024、2048、4096、8192、16384、32768 和 65536 (64 KB) 位元組。 磁帶裝置的預設值為 65536,其他裝置則為 512。 一般而言這個選項是不必要的,因為 BACKUP 會自動選取裝置適用的區塊大小。 明確指出區塊大小會覆寫自動選取的區塊大小。

如果採用的備份是要複製到 CD-ROM 然後再從中還原,請指定 BLOCKSIZE=2048。

注意

一般而言,只有在寫入磁帶裝置時,這個選項才會對效能造成影響。

資料轉送選項

BUFFERCOUNT = { buffercount | @ buffercount_variable }
指定要用於備份作業的 I/O 緩衝區總數。 您可以指定任何正整數,不過,緩衝區的數目很大時,可能會因為 Sqlservr.exe 處理序中的虛擬位址空間不足而造成「記憶體不足」錯誤。

緩衝區使用的總空間可由下列公式判斷:BUFFERCOUNT * MAXTRANSFERSIZE

注意

如需使用 BUFFERCOUNT 選項的重要資訊,請參閱不正確的 BufferCount 資料傳輸選項可能導致 OOM 狀況 (英文) 部落格文章。

MAXTRANSFERSIZE = { MAXTRANSFERSIZE | @ MAXTRANSFERSIZE _ variable }
以位元組為單位,指定要在和備份媒體之間使用的最大傳輸單位 SQL Server 。 可能的值是 65536 位元組 (64 KB) 的倍數,最大可達 4194304 位元組 (4 MB)。

注意

使用 SQL 寫入器服務建立備份時,如果已為資料庫設定 FILESTREAM,或該資料庫包含記憶體最佳化檔案群組,則在還原期間的 MAXTRANSFERSIZE 應該大於或等於建立備份時所使用的 MAXTRANSFERSIZE

注意

針對含有單一資料檔案且已啟用透明資料加密 (TDE) 的資料庫,預設的 MAXTRANSFERSIZE 為 65536 (64 KB)。 針對非 TDE 加密的資料庫,使用備份至 DISK 時,預設的 MAXTRANSFERSIZE 為 1048576 (1 MB),而使用 VDI 或 TAPE 時為 65536 (64 KB)。 如需搭配 TDE 加密的資料庫使用備份壓縮的詳細資訊,請參閱備註一節。

錯誤管理選項

這些選項可讓您決定是否要針對備份作業啟用備份總和檢查碼,以及作業是否會在發生錯誤時停止。

{ NO_CHECKSUM | CHECKSUM }
控制是否要啟用備份總和檢查碼。

NO_CHECKSUM
明確地停用產生備份總和檢查碼 (以及驗證頁面總和檢查碼)。 這是預設行為。

CHECKSUM
如果備份作業已啟用且可供使用,指定備份作業要驗證每個頁面的總和檢查碼及損毀頁,並產生整個備份的總和檢查碼。

使用備份總和檢查碼,可能會影響工作負載和備份的輸送量。

如需詳細資訊,請參閱在備份和還原期間可能的媒體錯誤

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
控制備份作業在發生頁面總和檢查碼錯誤之後要停止或繼續。

STOP_ON_ERROR
指示 BACKUP 在頁面總和檢查碼未驗證時便失敗。 這是預設行為。

CONTINUE_AFTER_ERROR
指示儘管發生總和檢查碼無效或損毀頁之類的錯誤,BACKUP 仍繼續作業。

如果您在資料庫損毀時無法使用 NO_TRUNCATE 選項來備份記錄的結尾,您可以指定 CONTINUE_AFTER_ERROR 取代 NO_TRUNCATE 來嘗試進行結尾記錄備份

如需詳細資訊,請參閱在備份和還原期間可能的媒體錯誤

相容性選項

RESTART
從開始 SQL Server 2008 ,沒有任何作用。 這個版本接受這個選項的目的,是為了與舊版的 SQL Server 相容。

監視選項

STATS [ = percentage ]
每次另一個 百分比 完成時,即會顯示一則訊息,用來測量進度。 如果省略 percentage,每完成 10%,SQL Server 都會顯示一則訊息。

STATS 選項報告到達下一個間隔之報告臨界值的完成百分比。 大約會以指定的百分比為間隔;例如,當 STATS=10,如果完成的量是 40%,這個選項可能顯示 43%。 對大型備份組而言,這不成問題,因為在已完成的 I/O 呼叫之間,百分比完成的移動非常緩慢。

磁帶選項

這些選項僅適用於「磁帶」裝置。 如果所使用的不是磁帶裝置,將忽略這些選項。

{ REWIND | NOREWIND }

REWIND
指定 SQL Server 會釋放和倒轉磁帶。 REWIND 是預設值。

NOREWIND
指定 SQL Server 將會在備份作業之後,讓磁帶維持在開啟狀態。 對磁帶執行多次備份作業時,可以使用這個選項來改善效能。

NOREWIND 隱含 NOUNLOAD,而這些選項在單一的 BACKUP 陳述式內不相容。

注意

如果您使用 NOREWIND,則 SQL Server 的執行個體會保有磁帶機的擁有權,直到在相同處理序中執行的 BACKUP 或 RESTORE 陳述式使用 REWINDUNLOAD 選項,或是伺服器執行個體關閉為止。 保留磁帶的開啟狀態可以防止其他處理序存取這個磁帶。 如需如何顯示已開啟磁帶清單及關閉已開啟磁帶的資訊,請參閱備份裝置

{ UNLOAD | NOUNLOAD }

注意

UNLOADNOUNLOAD 是工作階段設定,會在工作階段的存留期間保持不變,直到指定其他設定進行重設為止。

UNLOAD
指定在備份完成之後,便自動倒轉和卸載磁帶。 UNLOAD 是在工作階段開始時的預設值。

NOUNLOAD
指定在 BACKUP 作業之後,磁帶仍會在磁帶機上保持載入。

注意

如果要備份到磁帶備份裝置,BLOCKSIZE 選項會影響備份作業的效能。 一般而言,只有在寫入磁帶裝置時,這個選項才會對效能造成影響。

記錄特定選項

這些選項只能搭配 BACKUP LOG 使用。

注意

如果您不想要取得記錄備份,請使用簡單復原模式。 如需詳細資訊,請參閱復原模式

{ NORECOVERY | STANDBY = undo_file_name }

NORECOVERY
它會備份記錄的結尾,並將資料庫保留在 RESTORING 狀態。 當進行容錯移轉,將工作交給次要資料庫時,或在 RESTORE 作業之前儲存記錄結尾時,NORECOVERY 非常有用。

若要執行略過記錄截斷的最大速率記錄備份,然後使資料庫自動進入 RESTORING 狀態,請同時使用 NO_TRUNCATENORECOVERY 選項。

待命 = standby_file_name
備份記錄的結尾,並將資料庫保留在唯讀和 STANDBY 狀態。 STANDBY 子句會寫入待命資料 (執行回復,但使用進一步還原的選項)。 使用 STANDBY 選項相當於使用 BACKUP LOG WITH NORECOVERY,後面接著 RESTORE WITH STANDBY。

使用待命模式需要 standby_file_name 所指定的待命資料庫檔案,它的位置儲存在資料庫記錄中。 如果指定的檔案已存在,Database Engine 會覆寫它;如果檔案不存在,Database Engine 會建立它。 待命檔案會成為資料庫的一部分。

這個檔案會保留已回復的變更,如果之後要套用 RESTORE LOG 作業,就必須保留這些變更。 您必須有足以供待命檔案成長的磁碟空間,它才能夠包含資料庫中,因回復未認可的交易而修改過的所有相異頁面。

NO_TRUNCATE
指定不截斷記錄,並使 Database Engine 嘗試進行備份,而不論資料庫狀態為何。 因此,利用 NO_TRUNCATE 建立的備份可能會有不完整的中繼資料。 在資料庫已損毀的情況下,您可以利用這個選項來進行記錄的備份。

BACKUP LOG 的 NO_TRUNCATE 選項相當於同時指定 COPY_ONLY 和 CONTINUE_AFTER_ERROR。

未使用 NO_TRUNCATE 選項時,資料庫必須處於 ONLINE 狀態。 如果資料庫處於 SUSPENDED 狀態,您就能透過指定 NO_TRUNCATE 來建立備份。 但是,如果資料庫處於 OFFLINE 或 EMERGENCY 狀態,即使設定了 NO_TRUNCATE,也不允許 BACKUP。 如需資料庫狀態的相關資訊,請參閱資料庫狀態

關於使用 SQL Server 備份

本節介紹下列必要的備份概念:

備份類型 交易記錄截斷 將備份媒體格式化 使用備份裝置和媒體集 還原 SQL Server 備份

注意

如需 SQL Server 中備份的簡介,請參閱備份概觀

備份類型

支援的備份類型需視資料庫的復原模式而定,如下所示:

  • 所有復原模式都支援完整和差異的資料備份。

    備份範圍 備份類型
    整個資料庫 資料庫備份會包含整個資料庫。

    或者,每個資料庫備份都可作為一系列一或多個差異資料庫備份的基底。
    部分資料庫 部份備份包含讀取/寫入檔案群組,可能的話,還會包含一或多個唯讀檔案或檔案群組。

    或者,每個部份備份都可作為一系列一或多個差異部份備份的基底。
    檔案或檔案群組 檔案備份包含一或多個檔案或檔案群組,而且只會與包含多個檔案群組的資料庫有關。 在簡單復原模式下,檔案備份基本上會限制用於唯讀的次要檔案群組。
    或者,每個檔案備份都可作為一系列一或多個差異檔案備份的基底。
  • 在完整復原模式或大量記錄復原模式下,傳統備份也必須包含循序的「交易記錄備份」 (或「記錄備份」)。 每個記錄備份都包含建立備份時為使用中的交易記錄部分,而且會包含上一次記錄備份沒有備份的所有記錄檔記錄。

    若要將遺失工作的風險降到最低 (但會耗用管理負擔成本),您應該排定經常性的記錄備份。 在完整備份之間排定差異備份,可減少您在還原資料後必須還原的記錄備份數目,從而減少還原時間。

    我們建議您將記錄備份放在個別的磁碟區上,而不是進行資料庫備份。

    注意

    您必須先建立完整備份,才能建立第一個記錄備份。

  • 「僅複製備份」是特殊用途的完整備份或記錄備份,與傳統備份的正常順序無關。 若要建立僅複製備份,請在 BACKUP 陳述式中指定 COPY_ONLY 選項。 如需詳細資訊,請參閱只複製備份

交易記錄截斷

為避免填滿資料庫的交易記錄,例行備份相當重要。 在簡單復原模式下,記錄截斷會自動在備份資料庫後發生,而在完整復原模式下,則會自動在備份交易記錄後發生。 不過,有時候您可以延遲截斷處理作業。 如需延遲記錄截斷可能因素的資訊,請參閱交易記錄

注意

BACKUP LOG WITH NO_LOGWITH TRUNCATE_ONLY 選項已中止。 如果您要使用完整復原模式或大量記錄復原模式,而且您必須從資料庫移除記錄備份鏈結,請切換到簡單復原模式。 如需詳細資訊,請參閱檢視或變更資料庫的復原模式

將備份媒體格式化

只有下列其中一種情況成立,BACKUP 陳述式才會將備份媒體格式化:

  • 已指定 FORMAT 選項。
  • 媒體是空的。
  • 作業正在寫入接續磁帶。

使用備份裝置和媒體集

等量媒體集 (等量集) 中的備份裝置

「等量集」是一組磁碟檔案,其中的資料會分成幾個區塊,並依照固定順序散發。 等量集中所使用的備份裝置數目必須維持相同 (除非使用 FORMAT 來將媒體重新初始化)。

下列範例會將 AdventureWorks2012 資料庫的備份寫入使用三個磁碟檔案的新等量媒體集。

BACKUP DATABASE AdventureWorks2012
TO DISK = 'X:\SQLServerBackups\AdventureWorks1.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3.bak'
WITH FORMAT,
  MEDIANAME = 'AdventureWorksStripedSet0',
  MEDIADESCRIPTION = 'Striped media set for AdventureWorks2012 database';
GO

在備份裝置定義成等量集的一部分之後,除非指定 FORMAT,否則,單一裝置備份便無法使用它。 同樣地,除非指定 FORMAT,否則,等量集也無法使用包含非等量備份的備份裝置。 若要分割等量備份組,請使用 FORMAT。

寫入媒體標頭時,如果既未指定 MEDIANAME,也未指定 MEDIADESCRIPTION,對應至空白項目的媒體標頭欄位就是空的。

使用鏡像媒體集

一般而言,備份並無鏡像,而且 BACKUP 陳述式只會包含 TO 子句。 但是,每個媒體集總共可以包含四個鏡像。 如果是鏡像媒體集,備份作業會寫入多個備份裝置群組。 每個備份裝置群組都會在鏡像媒體集中包含單一鏡像。 每個鏡像都必須使用相同數量和類型的實體備份裝置,而且必須全部具備相同的屬性。

若要備份鏡像媒體集,所有鏡像都必須存在。 若要備份到鏡像媒體集,請指定 TO 子句來指定第一個鏡像,並為每個其他鏡像指定 MIRROR TO 子句。

針對鏡像媒體集,每個 MIRROR TO 子句都必須列出與 TO 子句相同的裝置數目和類型。 下列範例會寫入含有兩個鏡像,且每個鏡像都使用三個裝置的鏡像媒體集中:

BACKUP DATABASE AdventureWorks2012
TO DISK = 'X:\SQLServerBackups\AdventureWorks1a.bak',
  DISK = 'Y:\SQLServerBackups\AdventureWorks2a.bak',
  DISK = 'Z:\SQLServerBackups\AdventureWorks3a.bak'
MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks1b.bak',
  DISK = 'Y:\SQLServerBackups\AdventureWorks2b.bak',
  DISK = 'Z:\SQLServerBackups\AdventureWorks3b.bak';
GO

重要

這個範例的設計,是為了讓您在本機系統中進行測試。 實際上,在相同磁碟機上備份多個裝置可能會降低效能,而且可能會減損鏡像媒體集原先設計的備援性。

鏡像媒體集中的媒體家族

在 BACKUP 陳述式之 TO 子句中指定的每個備份裝置都對應到一個媒體家族。 例如,如果 TO 子句列出三個裝置,BACKUP 就會將資料寫入三個媒體家族。 在鏡像媒體集中,每個鏡像都必須包含每個媒體家族的複本。 這就是為什麼每個鏡像必須具有相同的裝置數目。

當各個鏡像分別列出多個裝置時,裝置順序會決定要將哪個媒體家族寫入特定裝置。 例如,在各份裝置清單中,第二個裝置都會對應到第二個媒體家族。 對於上面範例中的裝置,下表會說明這些裝置和媒體家族間的對應關係。

鏡像 媒體家族 1 媒體家族 2 媒體家族 3
0 Z:\AdventureWorks1a.bak Z:\AdventureWorks2a.bak Z:\AdventureWorks3a.bak
1 Z:\AdventureWorks1b.bak Z:\AdventureWorks2b.bak Z:\AdventureWorks3b.bak

媒體家族必須永遠備份到特定鏡像中的相同裝置。 因此,您每次使用現有媒體集時,都必須依照建立該媒體集時所指定的相同順序來列出每一個鏡像的裝置。

如需鏡像媒體集的詳細資訊,請參閱鏡像備份媒體集。 如需媒體集和媒體家族的一般詳細資訊,請參閱媒體集、媒體家族與備份組

還原 SQL Server 備份

若要還原資料庫,並選擇性地復原它以使其上線,或是還原檔案或檔案群組,請使用 Transact-SQL RESTORE 陳述式或 SQL Server Management Studio 還原 工作。 如需詳細資訊,請參閱還原和復原概觀

關於 BACKUP 選項的其他考量

SKIP、NOSKIP、INIT 和 NOINIT 的互動

下列表格描述 { NOINIT | INIT } 與 { NOSKIP | SKIP } 選項之間的互動。

注意

如果磁帶媒體是空的,或磁碟備份檔案不存在,所有這些互動都會寫入媒體標頭,並繼續作業。 如果媒體不是空的,但缺少有效媒體標頭,這些作業會回應指出這不是有效的 MTF 媒體,而且備份作業將會中止。

跳過選項 NOINIT INIT
NOSKIP 如果磁碟區包含有效的媒體標頭,確認媒體名稱符合指定的 MEDIANAME (如果有的話)。 如果相符,則附加備份組,保留所有現有的備份組。
如果磁碟區並未包含有效的媒體標頭,便會發生錯誤。
如果磁碟區包含有效的媒體標頭,則執行下列檢查:
  • 如果指定了 MEDIANAME,確認指定的媒體名稱符合媒體標頭的媒體名稱。1
  • 確認媒體中沒有出現任何非預期的備份組。 如果有,則結束備份。

如果通過這些檢查,則覆寫媒體中的任何備份組,只保留媒體標頭。
如果磁碟區未包含有效的媒體標頭,使用指定的 MEDIANAMEMEDIADESCRIPTION (如果有的話) 產生一個。
SKIP 如果磁碟區包含有效的媒體標頭,則附加備份組,保留所有現有的備份組。 如果磁碟區包含有效2的媒體標頭,則覆寫媒體上的任何備份組,只保留媒體標頭。
若媒體是空的,就使用指定的 MEDIANAMEMEDIADESCRIPTION (如果有的話) 來產生媒體標頭。

1 使用者必須屬於適當的固定資料庫或伺服器角色,才能執行備份作業。

2 有效性包括 MTF 版本號碼和其他標頭資訊。 如果不支援指定的版本,或它不是預期的值,就會發生錯誤。

相容性

警告

在舊版 SQL Server 中,無法還原較新的 SQL Server版本所建立的備份。

BACKUP 支援 RESTART 選項,以提供與舊版 SQL Server 之間的回溯相容性。 但 RESTART 卻沒有任何作用。

一般備註

您可以將資料庫或記錄備份附加至任何磁碟或磁帶裝置,以便將資料庫及其交易記錄保留在單一實體位置中。

在明確或隱含的交易中,並不允許使用 BACKUP 陳述式。

只要作業系統支援資料庫的定序,便可以執行跨平台的備份作業,即使在不同類型的處理器之間,也是如此。

從 SQL Server 2016 (13.x) 開始,設定 大於 65536 (64 KB)MAXTRANSFERSIZE 會針對 透明資料加密 (TDE) 加密的資料庫啟用最佳化壓縮演算法,此演算法會先將頁面解密、將其壓縮,然後再次加密。 如果未指定 MAXTRANSFERSIZE 或使用了 MAXTRANSFERSIZE = 65536 (64 KB),則搭配 TDE 加密資料庫的備份壓縮就會直接壓縮已加密頁面,且可能不會產生良好的壓縮率。 如需詳細資訊,請參閱適用於已啟用 TDE 之資料庫的備份壓縮 (英文)。

從 SQL Server 2019 (15.x) CU5 開始,不再需要設定 MAXTRANSFERSIZE 來啟用搭配 TDE 的這個最佳化壓縮演算法。 如果備份命令指定了 WITH COMPRESSION,或 backup compression default 伺服器組態設為 1,則 MAXTRANSFERSIZE 會自動增加至 128K,以啟用最佳化演算法。 如果在備份命令上指定了值大於 64K 的 MAXTRANSFERSIZE,則會接受提供的值。 換句話說,SQL Server 永遠不會自動降低值,其只會增加。 如果需要使用 MAXTRANSFERSIZE = 65536 備份 TDE 加密的資料庫,則必須指定 WITH NO_COMPRESSION,或確定 backup compression default 伺服器組態設為 0。

注意

某些情況下,預設值 MAXTRANSFERSIZE 大於 64K:

  • 當資料庫已建立多個資料檔案時,它會使用 MAXTRANSFERSIZE > 64K
  • 執行備份至 URL 時,預設 MAXTRANSFERSIZE = 1048576 (1MB)

除非使用 SQL Server 2019 (15.x) CU5 或更新版本,否則即使其中一個條件適用,您也必須在備份命令中明確設定 MAXTRANSFERSIZE 大於 64K,以取得最佳化的備份壓縮演算法。

根據預設,每項成功的備份作業都會在 SQL Server 錯誤記錄檔與系統事件記錄檔中,加入一個項目。 如果您經常備份記錄檔,這些成功訊息可能會快速累積,因而產生龐大的錯誤記錄檔,讓您難以尋找其他訊息。 在這類情況下,如果沒有任何指令碼相依於這些記錄項目,您就可以使用追蹤旗標 3226 來隱藏這些記錄項目。 如需詳細資訊,請參閱追蹤旗標

互通性

SQL Server 會利用線上備份程序,使您能夠在使用資料庫時,備份資料庫。 在備份期間,您可以執行大部分的作業;例如,在備份作業期間,您可以執行 INSERT、UPDATE 或 DELETE 陳述式。

資料庫或交易記錄備份期間所無法執行的作業包括:

  • 檔案管理作業,例如,搭配 ADD FILEREMOVE FILE 選項的 ALTER DATABASE 陳述式。

  • 壓縮資料庫或壓縮檔案的作業。 其中包括自動壓縮作業。

如果備份作業與檔案管理或壓縮作業重疊,便會發生衝突。 不論是哪一項衝突作業在前面,第二項作業都會等待第一項作業所設定的鎖定逾時 (逾時期間由工作階段逾時設定來控制)。 如果在逾時期間解除鎖定,第二項作業就會繼續下去。 如果鎖定逾時,第二項作業就會失敗。

中繼資料

SQL Server 包括下列備份記錄資料表,其會追蹤備份活動:

執行還原時,如果備份組尚未記錄於 msdb 資料庫,就表示備份記錄資料表可能已修改過。

安全性

從 SQL Server 2012 (11.x) 開始,建立備份的 PASSWORDMEDIAPASSWORD 選項已遭到停用。 仍然可以還原以密碼建立的備份。

權限

BACKUP DATABASEBACKUP LOG 權限預設為 系統管理員 固定伺服器角色以及 db_ownerdb_backupoperator 固定資料庫角色的成員。

備份裝置實體檔案的擁有權和權限問題可能會干擾備份作業。 確定 SQL Server 啟動帳戶必須具有備份裝置的讀取和寫入權限,以及寫入備份檔案的資料夾。 不過,在系統資料表中加入備份裝置項目的 sp_addumpdevice並不會檢查檔案存取權限。 當您嘗試備份或還原時,存取實體資源之前不一定會出現備份裝置實體檔案的這些問題。

範例

本區段包含下列範例:

注意

備份的使用說明主題包含了其他的範例。 如需詳細資訊,請參閱備份概觀

A. 備份完整資料庫

下列範例會將 AdventureWorks2012 資料庫備份到磁碟檔案。

BACKUP DATABASE AdventureWorks2012
 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
    WITH FORMAT;
GO

B. 備份資料庫和記錄

下列範例會備份 AdventureWorks2012 範例資料庫,依預設採用簡單復原模式。 為了支援記錄備份,AdventureWorks2012 資料庫會修改成使用完整復原模式。

接著,範例會使用 sp_addumpdevice,建立邏輯備份裝置來備份資料 (AdvWorksData),並建立另一個邏輯備份裝置來備份記錄 (AdvWorksLog)。

這個範例接著會建立 AdvWorksData 的完整資料庫備份,並且在更新活動一段時間之後,將記錄備份到 AdvWorksLog

-- To permit log backups, before the full database backup, modify the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE AdventureWorks2012
    SET RECOVERY FULL;
GO
-- Create AdvWorksData and AdvWorksLog logical backup devices.
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'Z:\SQLServerBackups\AdvWorksData.bak';
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksLog',
'X:\SQLServerBackups\AdvWorksLog.bak';
GO

-- Back up the full AdventureWorks2012 database.
BACKUP DATABASE AdventureWorks2012 TO AdvWorksData;
GO
-- Back up the AdventureWorks2012 log.
BACKUP LOG AdventureWorks2012
    TO AdvWorksLog;
GO

注意

如果是實際執行的資料庫,請定期備份記錄。 記錄的備份頻率必須足以保護資料不會遺失。

C. 建立次要檔案群組的完整檔案備份

下列範例會為兩個次要檔案群組中的每個檔案建立完整檔案備份。

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
    FILEGROUP = 'SalesGroup1',
    FILEGROUP = 'SalesGroup2'
    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck';
GO

D. 建立次要檔案群組的差異檔案備份

下列範例會為兩個次要檔案群組中的每個檔案建立差異檔案備份。

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
    FILEGROUP = 'SalesGroup1',
    FILEGROUP = 'SalesGroup2'
    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
    WITH
      DIFFERENTIAL;
GO

E. 建立和備份至單一家族的鏡像媒體集中

下列範例會建立一個鏡像媒體集,其中包含單一媒體家族和四個鏡像,且會將 AdventureWorks2012 資料庫備份至其中。

BACKUP DATABASE AdventureWorks2012
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH
    FORMAT,
    MEDIANAME = 'AdventureWorksSet0';

F. 建立和備份至多重家族的鏡像媒體集中

下列範例會建立一個鏡像媒體集,其中的每個鏡像都由兩個媒體家族組成。 之後,這個範例會將 AdventureWorks2012 資料庫備份在這兩個鏡像中。

BACKUP DATABASE AdventureWorks2012
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
    FORMAT,
    MEDIANAME = 'AdventureWorksSet1';

G. 備份至現有的鏡像媒體集中

下列範例會將備份組附加至先前範例所建立的媒體集中。

BACKUP LOG AdventureWorks2012
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
    NOINIT,
    MEDIANAME = 'AdventureWorksSet1';

注意

NOINIT 是預設值,這裡顯示它是為了更加清楚。

H. 在新的媒體集中建立壓縮備份

下列範例會將媒體格式化、建立新的媒體集,並執行 AdventureWorks2012 資料庫的完整壓縮備份。

BACKUP DATABASE AdventureWorks2012 TO DISK='Z:\SQLServerBackups\AdvWorksData.bak'
WITH
    FORMAT,
    COMPRESSION;

I. 備份至 Microsoft Azure Blob 儲存體服務

下列範例會為 Sales 執行完整資料庫備份以將它備份到 Microsoft Azure Blob 儲存體服務。 儲存體帳戶名稱為 mystorageaccount。 容器名稱為 myfirstcontainer。 已建立具有讀取、寫入、刪除和列出權限的預存存取原則。 已使用與預存存取原則相關聯的共用存取簽章來建立 SQL Server 認證 https://mystorageaccount.blob.core.windows.net/myfirstcontainer。 如需將 SQL Server 備份至 Microsoft Azure Blob 儲存體服務的資訊,請參閱使用 Microsoft Azure Blob 儲存體服務進行 SQL Server 備份及還原SQL Server 備份至 URL

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5;

J. 追蹤備份陳述式的進度

下列查詢會傳回目前正在執行備份陳述式的相關資訊:

SELECT query = a.text, start_time, percent_complete,
    eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command LIKE 'BACKUP%'

另請參閱

* SQL 受控執行個體*  

 

Azure SQL 受控執行個體

在 Azure 中備份 SQL 資料庫 SQL 受控執行個體。 SQL受控執行個體具有自動備份。 您可以建立完整 COPY_ONLY 的資料庫備份。 不支援差異、記錄和檔案快照備份。

也適用于已啟用 Azure Arc 的 SQL 受控執行個體

語法

BACKUP DATABASE { database_name | @database_name_var }
  TO URL = { 'physical_device_name' | @physical_device_name_var }[ ,...n ]
  WITH COPY_ONLY [, { <general_WITH_options> } ]
[;]

<general_WITH_options> [ ,...n ]::=

--Media Set Options
   MEDIADESCRIPTION = { 'text' | @text_variable }
 | MEDIANAME = { media_name | @media_name_variable }
 | BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
   { NO_CHECKSUM | CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Compatibility Options
   RESTART

--Monitoring Options
   STATS [ = percentage ]

--Encryption Options
 ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
   SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name

引數

DATABASE
指定完整的資料庫備份。 在資料庫備份期間,Azure SQL 受控執行個體會備份足夠的交易記錄,以便在還原備份時,產生一致的資料庫。

重要

在受控執行個體上建立的資料庫備份,只能在其他 Azure SQL 受控執行個體上還原。 它無法還原至 SQL Server 內部部署執行個體 (如同 SQL Server 2016 資料庫的備份無法還原至 SQL Server 2012 執行個體)。

當您還原 BACKUP DATABASE 所建立的備份 (「資料備份」) 時,就會還原整個備份。 若要從 SQL 受控執行個體自動備份進行還原,請參閱將資料庫還原到受控執行個體

{ database_name | @ database_name_var } 這是要備份完整資料庫的來源資料庫。 如果這個名稱是以變數 ( @ database_name_var) 的形式提供,您還可以將這個名稱指定為字串常數 ( @ database_name_var = database name),或指定為字元字串資料類型的變數,但 ntexttext 資料類型除外。

如需詳細資訊,請參閱完整檔案備份備份檔案和檔案群組

TO URL
指定要用於備份作業的 URL。 URL 格式可用來建立備份至 Microsoft Azure 儲存體服務。

重要

為了在備份到 URL 時能夠備份到多部裝置,您必須使用共用存取簽章 (SAS) 權杖。 如需建立共用存取簽章的範例,請參閱 SQL Server 備份至 URL在 Azure 儲存體上使用 Powershell 搭配共用存取簽章 (SAS) 權杖來簡化 SQL 認證的建立 (英文)。

n-1
這是一個預留位置,表示可以在逗號分隔清單中指定最多達 64 個備份裝置。

WITH Options 指定要搭配備份作業使用的選項

CREDENTIAL
只有當建立備份到 Microsoft Azure Blob 儲存體服務時才使用。

ENCRYPTION
用來指定備份的加密。 您可以指定加密演算法來加密備份,或指定 NO_ENCRYPTION 不加密備份。 加密是有助於保護備份檔案的建議作法。 您可以指定的演算法清單包括:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

如果您選擇加密,則也需要使用加密程式選項指定加密程式:

  • SERVER CERTIFICATE = <Encryptor_Name>
  • SERVER ASYMMETRIC KEY = <Encryptor_Name>

備份組選項

COPY_ONLY
指定備份為「僅複製備份」,這不會影響正常的備份順序。 僅複製備份的建立與 Azure SQL Database 自動備份無關。 如需詳細資訊,請參閱只複製備份

{ COMPRESSION | NO_COMPRESSION }
指定是否要在此備份上執行備份壓縮,以覆寫伺服器層級的預設值。

預設行為是不壓縮備份。 但是,您可以設定 backup compression default 伺服器設定選項來變更此預設值。 如需檢視此選項目前值的資訊,請參閱檢視或變更伺服器屬性

COMPRESSION
明確啟用備份壓縮。

NO_COMPRESSION
明確停用備份壓縮。

描述 = { 'text' | @ 文字 _ 變數}
指定描述備份組的自由形式文字。 這個字串最多可有 255 個字元。

名稱 = { backup_set_name | @ 備份 _ 集的 _ var }
指定備份組的名稱。 名稱最多可有 128 個字元。 如果未指定 NAME,它就是空白。

MEDIADESCRIPTION = { text | @ text _ variable }
指定媒體集自由形式的文字描述,最多 255 個字元。

MEDIANAME = { media_name | @ 媒體 _ 名稱 _ 變數}
指定整個備份媒體集的媒體名稱。 媒體名稱不能超出 128 個字元,如果指定 MEDIANAME,它必須符合先前所指定且已存在備份磁碟區的媒體名稱。 如果未指定或指定了 SKIP 選項,就不會進行媒體名稱的驗證檢查。

BLOCKSIZE = { blocksize | @ blocksize_variable }
指定實體區塊大小 (以位元組為單位)。 支援的大小為 512、1024、2048、4096、8192、16384、32768 和 65536 (64 KB) 位元組。 磁帶裝置的預設值為 65536,其他裝置則為 512。 一般而言這個選項是不必要的,因為 BACKUP 會自動選取裝置適用的區塊大小。 明確指出區塊大小會覆寫自動選取的區塊大小。

資料轉送選項

BUFFERCOUNT = { buffercount | @ buffercount_variable }
指定要用於備份作業的 I/O 緩衝區總數。 您可以指定任何正整數,不過,緩衝區的數目很大時,可能會因為 Sqlservr.exe 處理序中的虛擬位址空間不足而造成「記憶體不足」錯誤。

緩衝區使用的總空間可由下列公式判斷:BUFFERCOUNT * MAXTRANSFERSIZE

注意

如需使用 BUFFERCOUNT 選項的重要資訊,請參閱不正確的 BufferCount 資料傳輸選項可能導致 OOM 狀況 (英文) 部落格文章。

MAXTRANSFERSIZE = { MAXTRANSFERSIZE | @ MAXTRANSFERSIZE _ variable }
以位元組為單位,指定要在和備份媒體之間使用的最大傳輸單位 SQL Server 。 可能的值是 65536 位元組 (64 KB) 的倍數,最大可達 4194304 位元組 (4 MB)。

注意

針對含有單一資料檔案且已啟用透明資料加密 (TDE) 的資料庫,預設的 MAXTRANSFERSIZE 為 65536 (64 KB)。 針對非 TDE 加密的資料庫,使用備份至 DISK 時,預設的 MAXTRANSFERSIZE 為 1048576 (1 MB),而使用 VDI 或 TAPE 時為 65536 (64 KB)。

錯誤管理選項

這些選項可讓您決定是否要針對備份作業啟用備份總和檢查碼,以及作業是否會在發生錯誤時停止。

{ NO_CHECKSUM | CHECKSUM }
控制是否要啟用備份總和檢查碼。

NO_CHECKSUM
明確地停用產生備份總和檢查碼 (以及驗證頁面總和檢查碼)。 這是預設行為。

CHECKSUM
如果備份作業已啟用且可供使用,指定備份作業要驗證每個頁面的總和檢查碼及損毀頁,並產生整個備份的總和檢查碼。

使用備份總和檢查碼,可能會影響工作負載和備份的輸送量。

如需詳細資訊,請參閱在備份和還原期間可能的媒體錯誤

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
控制備份作業在發生頁面總和檢查碼錯誤之後要停止或繼續。

STOP_ON_ERROR
指示 BACKUP 在頁面總和檢查碼未驗證時便失敗。 這是預設行為。

CONTINUE_AFTER_ERROR
指示儘管發生總和檢查碼無效或損毀頁之類的錯誤,BACKUP 仍繼續作業。

如果您在資料庫損毀時無法使用 NO_TRUNCATE 選項來備份記錄的結尾,您可以指定 CONTINUE_AFTER_ERROR 取代 NO_TRUNCATE 來嘗試進行結尾記錄備份

如需詳細資訊,請參閱在備份和還原期間可能的媒體錯誤

相容性選項

RESTART
這個選項無效。 這個版本接受這個選項的目的,是為了與舊版的 SQL Server 相容。

監視選項

STATS [ = percentage ]
每次另一個 百分比 完成時,即會顯示一則訊息,用來測量進度。 如果省略 percentage,每完成 10%,SQL Server 都會顯示一則訊息。

STATS 選項報告到達下一個間隔之報告臨界值的完成百分比。 大約會以指定的百分比為間隔;例如,當 STATS=10,如果完成的量是 40%,這個選項可能顯示 43%。 對大型備份組而言,這不成問題,因為在已完成的 I/O 呼叫之間,百分比完成的移動非常緩慢。

SQL 受控執行個體的限制

備份等量磁碟區大小上限為 195 GB (最大 Blob 大小)。 在備份命令中增加等量磁碟區的數目,以減少個別的等量磁碟區大小並維持在這項限制內。

安全性

權限

BACKUP DATABASE 許可權預設為 系統管理員(sysadmin )固定伺服器角色的成員,以及 db_ownerdb_backupoperator 固定資料庫角色的成員。

URL 的擁有權和權限問題可能會干擾備份作業。 SQL Server 必須能夠讀取和寫入裝置;執行 SQL Server 服務的帳戶必須具備寫入權限。

範例

下列範例會為 Sales 執行 COPY_ONLY 備份以將它備份到 Microsoft Azure Blob 儲存體服務。 儲存體帳戶名稱為 mystorageaccount。 容器名稱為 myfirstcontainer。 已建立具有讀取、寫入、刪除和列出權限的預存存取原則。 已使用與預存存取原則相關聯的共用存取簽章來建立 SQL Server 認證 https://mystorageaccount.blob.core.windows.net/myfirstcontainer。 如需將 SQL Server 備份至 Microsoft Azure Blob 儲存體服務的資訊,請參閱使用 Microsoft Azure Blob 儲存體服務進行 SQL Server 備份及還原SQL Server 備份至 URL

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5, COPY_ONLY;

另請參閱

還原資料庫

* 分析
平台系統 (PDW) *
 

 

分析平台系統

建立Analytics Platform System (PDW)資料庫的備份,並將備份儲存在應用裝置外、使用者指定的網路位置中。 請搭配 RESTORE DATABASE - Analytics Platform System 使用此陳述式來進行災害復原,或將資料庫從一個設備複製到另一個設備。

在您開始前,請先參閱平行處理資料倉儲產品文件中的<Acquire and Configure a Backup Server>(取得並設定備份伺服器)。

Analytics Platform System (PDW)中有兩種類型的備份。 「完整資料庫備份」會備份整個Analytics Platform System (PDW)資料庫。 「差異資料庫備份」僅包含自上次進行完整備份之後所做的變更。 使用者資料庫的備份會包含資料庫使用者及資料庫角色。 master 資料庫的備份會包含登入。

如需有關Analytics Platform System (PDW)資料庫備份的詳細資訊,請參閱平行處理資料倉儲產品文件中的<Backup and Restore>(備份和還原)。

語法

--Create a full backup of a user database or the master database.
BACKUP DATABASE database_name
    TO DISK = '\\UNC_path\backup_directory'
    [ WITH [ ( ]<with_options> [ ,...n ][ ) ] ]
[;]

--Create a differential backup of a user database.
BACKUP DATABASE database_name
    TO DISK = '\\UNC_path\backup_directory'
    WITH [ ( ] DIFFERENTIAL
    [ , <with_options> [ ,...n ] [ ) ]
[;]

<with_options> ::=
    DESCRIPTION = 'text'
    | NAME = 'backup_name'

引數

database_name 要建立備份的資料庫名稱。 此資料庫可以是 master 資料庫或使用者資料庫。

至 DISK = ' \ \ UNC_path \ backup_directory'
Analytics Platform System (PDW)寫入備份檔案時的目的地網路路徑和目錄。 例如 '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'。

  • 備份目錄名稱的路徑必須已經存在,且必須以完整通用命名慣例 (UNC) 路徑的形式指定。
  • 備份目錄 backup_directory 必須是在執行備份命令之前不存在的目錄。 Analytics Platform System (PDW)會建立備份目錄。
  • 備份目錄的路徑不可以是本機路徑,也不可以是任何Analytics Platform System (PDW)應用裝置節點上的位置。
  • UNC 路徑和備份目錄名稱的長度上限是 200 個字元。
  • 伺服器或主機必須以 IP 位址的形式指定。 您不能以主機或伺服器名稱的形式指定它。

DESCRIPTION = 'text'
指定備份的文字描述。 文字的長度上限為 255 個字元。

此描述會儲存在中繼資料中,並且會在使用 RESTORE HEADERONLY 來還原備份標頭時顯示。

名稱 = '備份 _ 名稱'
指定備份的名稱。 備份名稱可以與資料庫名稱不同。

  • 名稱最多可有 128 個字元。
  • 不可包含路徑。
  • 開頭必須是字母、數字字元或底線 (_)。 允許的特殊字元是底線 (_)、連字號 (-) 或空格 space ( )。 備份名稱的結尾不可以是空格字元。
  • 如果 backup_name 已經存在於指定的位置中,陳述式將會失敗。

此名稱會儲存在中繼資料中,並且會在使用 RESTORE HEADERONLY 來還原備份標頭時顯示。

DIFFERENTIAL
指定執行使用者資料庫的差異備份。 如果省略,預設就會是完整資料庫備份。 差異備份的名稱不一定要與完整備份的名稱相符。 為了追蹤差異備份及其對應的完整備份,請考慮使用相同名稱再附加 'full' 或 'diff'。

例如:

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerFull';

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerDiff' WITH DIFFERENTIAL;

權限

需要 BACKUP DATABASE db_backupoperator 固定資料庫角色中的許可權或成員資格。 新增至 db_backupoperator 固定資料庫角色的一般使用者無法備份 master 資料庫。 只有 sa、網狀架構系統管理員或 sysadmin 固定伺服器角色的成員才能備份 master 資料庫。

需要具備備份目錄之存取、建立及寫入權限的 Windows 帳戶。 您也必須將 Windows 帳戶名稱和密碼儲存在Analytics Platform System (PDW)中。 若要將這些網路認證新增至 Analytics Platform System (PDW),請使用 sp_pdw_add_network_credentials - Azure Synapse Analytics 預存程序。

如需有關管理Analytics Platform System (PDW)中之認證的詳細資訊,請參閱安全性一節。

錯誤處理

在下列情況下會發生 BACKUP DATABASE 錯誤:

  • 使用者權限不足以執行備份。
  • Analytics Platform System (PDW)沒有將儲存備份之網路位置的正確權限。
  • 資料庫不存在。
  • 目標目錄已經存在於網路共用上。
  • 目標網路共用無法使用。
  • 目標網路共用沒有足夠的空間來進行備份。 BACKUP DATABASE 命令在起始備份之前,未先確認是否有足夠的空間存在,導致在執行 BACKUP DATABASE 時,可能產生磁碟空間不足錯誤。 發生磁碟空間不足問題時,Analytics Platform System (PDW)會復原 BACKUP DATABASE 命令。 若要縮減資料庫大小,請執行 DBCC SHRINKLOG (Azure Synapse Analytics)
  • 嘗試在交易內啟動備份。

一般備註

在您執行資料庫之前,請使用 DBCC SHRINKLOG (Azure Synapse Analytics) 來縮減資料庫的大小。

Analytics Platform System (PDW)備份會以多檔案集合的形式儲存在相同的目錄中。

差異備份所花費的時間通常比完整備份少,因此可以較頻繁地執行。 當多個差異備份都根據相同的完整備份時,每個差異備份都會包含前一個差異備份的所有變更。

如果您取消 BACKUP 命令,Analytics Platform System (PDW)將會移除目標目錄及為備份建立的所有檔案。 如果Analytics Platform System (PDW)與共用的網路連線中斷,便無法完成復原。

完整備份和差異備份儲存在個別的目錄中。 系統並未強制執行命名慣例來要求指定完整備份和差異備份彼此互屬。 您可以透過自己的命名慣例來進行此追蹤。 或者,您也可以藉由使用 WITH DESCRIPTION 選項來新增描述,然後使用 RESTORE HEADERONLY 陳述式來擷取描述,以進行此追蹤。

限制事項

您無法對 master 資料庫執行差異備份。 僅支援對 master 資料庫執行完整備份。

備份檔案會以僅適合使用 RESTORE DATABASE - Analytics Platform System 陳述式將備份還原至Analytics Platform System (PDW)設備的格式儲存。

搭配 BACKUP DATABASE 陳述式的備份無法用來將檔案或使用者資訊傳輸給 SMP SQL Server 資料庫。 如需該功能,您可以使用遠端資料表複製功能。 如需詳細資訊,請參閱平行處理資料倉儲產品文件中的<Remote Table Copy>(遠端資料表複製)。

Analytics Platform System (PDW)使用 SQL Server 備份技術來備份和還原資料庫。 SQL Server 備份選項已預先設定為使用備份壓縮。 您無法設定壓縮、總和檢查碼、區塊大小及緩衝區計數等備份選項。

在任何指定時間,都只能在應用裝置上執行一個資料庫備份或還原作業。 Analytics Platform System (PDW)會將備份或還原命令排入佇列,直到目前的備份或還原命令完成為止。

用來還原備份的目標應用裝置所擁有的計算節點數目必須至少與來源應用裝置相同。 目標所擁有的計算節點數目可以比來源應用裝置多,但不能比來源應用裝置少。

Analytics Platform System (PDW)不會追蹤備份的位置和名稱,因為備份會儲存在應用裝置外。

Analytics Platform System (PDW)不會追蹤資料庫備份是成功還是失敗。

只有在上一個完整備份已成功完成的情況下,才會允許執行差異備份。 例如,假設您在星期一建立銷售資料庫的完整備份,且該備份成功完成。 然後,您在星期二建立銷售資料庫的完整備份,但卻失敗。 在發生此失敗之後,您便無法根據星期一的完整備份來建立差異備份。 您必須先建立成功的完整備份,才能建立差異備份。

中繼資料

這些動態管理檢視包含所有備份、還原及載入作業的相關資訊。 此資訊在系統重新啟動之後會持續存留。

效能

若要執行備份,Analytics Platform System (PDW)會先備份中繼資料,然後對儲存在計算節點上的資料庫資料執行平行備份。 這會將資料直接從每個計算節點複製到備份目錄。 為了在將資料從計算節點移至備份目錄時達到最佳效能,Analytics Platform System (PDW)會控制同時複製資料的計算節點數目。

鎖定

在 DATABASE 物件上採用 ExclusiveUpdate 鎖定。

Security

Analytics Platform System (PDW)備份不會儲存在應用裝置上。 因此,您的 IT 小組需負責管理備份安全性的所有層面。 例如,這包括管理備份資料的安全性、用來儲存備份之伺服器的安全性、以及將備份伺服器連線至Analytics Platform System (PDW)之網路基礎結構的安全性。

管理網路認證

對備份目錄的網路存取權是以標準作業系統檔案共用安全性為基礎。 在執行備份之前,您必須建立或指定一個將用來向備份目錄驗證Analytics Platform System (PDW)的 Windows 帳戶。 此 Windows 帳戶必須擁有存取、建立及寫入備份目錄的許可權。

重要

為了降低您資料的安全性風險,建議您指定一個專門用來執行備份和還原作業的 Windows 帳戶。 請讓此帳戶僅擁有備份位置的權限。

您必須藉由執行 sp_pdw_add_network_credentials - Azure Synapse Analytics 預存程序,將使用者名稱和密碼儲存在 Analytics Platform System (PDW) 中。 Analytics Platform System (PDW)會使用「Windows 認證管理員」在控制節點及計算節點上,儲存並加密使用者名稱和密碼。 備份認證時,不會使用 BACKUP DATABASE 命令來備份。

若要從 Analytics Platform System (PDW) 移除網路認證,請參閱 sp_pdw_remove_network_credentials - Azure Synapse Analytics

若要列出儲存在Analytics Platform System (PDW)中的所有網路認證,請使用 sys.dm_pdw_network_credentials 動態管理檢視。

範例

A. 新增備份位置的網路認證

若要建立備份,Analytics Platform System (PDW)必須具備備份目錄的讀取/寫入權限。 下列範例示範如何新增使用者的認證。 Analytics Platform System (PDW)會儲存這些認證,並使用它們來進行備份和還原作業。

重要

基於安全性考量,建議您建立一個專門用來執行備份的網域帳戶。

EXEC sp_pdw_add_network_credentials 'xxx.xxx.xxx.xxx', 'domain1\backupuser', '*****';

B. 移除備份位置的網路認證

下列範例示範如何從Analytics Platform System (PDW)中移除網域使用者的認證。

EXEC sp_pdw_remove_network_credentials 'xxx.xxx.xxx.xxx';

C. 建立使用者資料庫的完整備份

下列範例會建立 Invoices 使用者資料庫的完整備份。 Analytics Platform System (PDW)會建立 [Invoices2013] 目錄,並將備份檔案儲存至 \\10.192.63.147\backups\yearly\Invoices2013Full 目錄。

BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';

D. 建立使用者資料庫的差異備份

下列範例會建立差異備份,其中包括自上次完整備份 Invoices 資料庫之後所做的所有變更。 Analytics Platform System (PDW)會建立 \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff 目錄來儲存檔案。 'Invoices 2013 differential backup' 描述將會與備份的標頭資訊儲存在一起。

只有在 Invoices 的上一個完整備份已成功完成的情況下,差異備份才會執行成功。

BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
    WITH DIFFERENTIAL,
    DESCRIPTION = 'Invoices 2013 differential backup';

E. 建立 master 資料庫的完整備份

下列範例會建立 master 資料庫的完整備份,並將其儲存在 '\\10.192.63.147\backups\2013\daily\20130722\master' 目錄中。

BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master';

F. 建立設備登入資訊的備份

master 資料庫會儲存應用裝置登入資訊。 若要備份應用裝置登入資訊,您必須備份 master。

下列範例會建立 master 資料庫的完整備份。

BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master'
WITH (
    DESCRIPTION = 'Master Backup 20130722',
    NAME = 'login-backup'
)
;

另請參閱

RESTORE DATABASE - 平行處理資料倉儲