RESTORE VERIFYONLY (Transact-SQL)

驗證備份,但不還原它,同時也會檢查備份組是否已完成,整個備份是否可讀取。不過,RESTORE VERIFYONLY 並不會嘗試驗證備份磁碟區所包含之資料的結構。MicrosoftSQL Server 已增強 RESTORE VERIFYONLY 的功能,可對資料執行額外檢查,藉此提升偵測到錯誤的機率。目標是盡可能接近實際的還原作業。如需詳細資訊,請參閱「備註」一節。

如果備份有效,SQL Server Database Engine 會傳回成功的訊息。

[!附註]

如需引數的描述,請參閱<RESTORE 引數 (Transact-SQL)>。

主題連結圖示Transact-SQL 語法慣例

語法

RESTORE VERIFYONLY
FROM <backup_device> [ ,...n ]
[ WITH  
 {
   LOADHISTORY 

--Restore Operation Option
 | MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' 
          [ ,...n ] 

--Backup Set Options
 | FILE = { backup_set_file_number | @backup_set_file_number } 
 | PASSWORD = { password | @password_variable } 

--Media Set Options
 | MEDIANAME = { media_name | @media_name_variable } 
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }

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

--Monitoring Options
 | STATS [ = percentage ] 

--Tape Options
 | { REWIND | NOREWIND } 
 | { UNLOAD | NOUNLOAD }  
 } [ ,...n ]
]
[;]

<backup_device> ::=
{ 
   { logical_backup_device_name |
            @logical_backup_device_name_var }
   | { DISK | TAPE } = { 'physical_backup_device_name' |
              @physical_backup_device_name_var } 
} 

引數

如需 RESTORE VERIFYONLY 引數的描述,請參閱<RESTORE 引數 (Transact-SQL)>。

備註

媒體集或備份組必須包含最起碼的正確資訊,才能夠解譯成 Microsoft Tape Format。如果沒有包含最起碼的正確資訊,RESTORE VERIFYONLY 會指出備份格式無效,並停止作業。

RESTORE VERIFYONLY 所執行的檢查包括:

  • 備份組是否完整,所有磁碟區是否可讀取。

  • 部分資料庫頁面的標頭欄位,如頁面識別碼 (如同即將寫入資料)。

  • 總和檢查碼 (如果媒體有總和檢查碼的話)。

  • 檢查目的地裝置的空間是否足夠。

[!附註]

RESTORE VERIFYONLY 無法處理資料庫快照集。若要在還原作業之前驗證資料庫快照集,您可以執行 DBCC CHECKDB。

權限

從 SQL Server 2008 開始,取得有關備份組或備份裝置的資訊需要 CREATE DATABASE 權限。如需詳細資訊,請參閱<GRANT 資料庫權限 (Transact-SQL)>。

備份作業可以選擇性地指定媒體集的密碼及 (或) 備份組的密碼。當在媒體集或備份組上定義密碼時,您必須在 RESTORE 陳述式中,指定一個或多個正確的密碼。這些密碼可以防止他人利用 SQL Server 工具,在未獲授權的情況下,在媒體上執行還原作業及附加備份組。不過,密碼無法防止使用者利用 BACKUP 陳述式的 FORMAT 選項來覆寫媒體。

安全性注意事項安全性注意事項

這個密碼所提供的保護很弱。這是為了防止已獲授權或未獲授權的使用者使用 SQL Server 工具進行不正確的還原。它無法防止透過其他方式或以取代密碼的方式來讀取備份資料。未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 保護備份的最佳作法是將備份磁帶存放在安全位置,或備份至適當的存取控制清單 (ACL) 所保護的磁碟檔案中。ACL 應該設在備份建立所在的根目錄下。