RESTORE VERIFYONLY (Transact-SQL)
驗證備份,但不還原它,同時也會檢查備份組是否已完成,整個備份是否可讀取。不過,RESTORE VERIFYONLY 並不會嘗試驗證備份磁碟區所包含之資料的結構。Microsoft SQL Server 已增強 RESTORE VERIFYONLY 的功能,可對資料執行額外檢查,藉此提升偵測到錯誤的機率。目標是盡可能接近實際的還原作業。如需詳細資訊,請參閱「備註」一節。
如果備份有效,SQL Server Database Engine 會傳回成功的訊息。
[!附註]
如需引數的描述,請參閱<RESTORE 引數 (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 }
}
備註
媒體集或備份組必須包含最起碼的正確資訊,才能夠解譯成 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 應該設在備份建立所在的根目錄下。 |