RESTORE FILELISTONLY (Transact-SQL)
語法
RESTORE FILELISTONLY
FROM <backup_device>
[ WITH
{
--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 }
--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 FILELISTONLY 來取得備份組所包含的檔案清單。這項資訊會當做結果集傳回,其中每個檔案各包含一個資料列。
資料行名稱 |
資料類型 |
描述 |
LogicalName |
nvarchar(128) |
檔案的邏輯名稱。 |
PhysicalName |
nvarchar(260) |
檔案的實體或作業系統名稱。 |
Type |
char(1) |
這是檔案的類型,它有下列幾種: L = Microsoft SQL Server 記錄檔 D = SQL Server 資料檔 F = 全文檢索目錄 |
FileGroupName |
nvarchar(128) |
檔案所在的檔案群組名稱。 |
Size |
numeric(20,0) |
目前的大小 (以位元組為單位)。 |
MaxSize |
numeric(20,0) |
允許的大小上限 (以位元組為單位)。 |
FileID |
bigint |
檔案的識別碼,它在資料庫中是唯一的。 |
CreateLSN |
numeric(25,0) |
建立檔案的記錄序號。 |
DropLSN |
numeric(25,0) NULL |
卸除檔案的記錄序號。如果檔案尚未卸除,這個值就是 NULL。 |
UniqueID |
uniqueidentifier |
檔案的全域唯一識別碼。 |
ReadOnlyLSN |
numeric(25,0) NULL |
包含從讀寫改成唯讀 (最近的變更) 的檔案之檔案群組所在的記錄序號。 |
ReadWriteLSN |
numeric(25,0) NULL |
包含從唯讀改成讀寫 (最近的變更) 的檔案之檔案群組所在的記錄序號。 |
BackupSizeInBytes |
bigint |
這個檔案的備份大小 (以位元組為單位)。 |
SourceBlockSize |
int |
檔案所在實體裝置 (不是備份裝置) 的區塊大小 (以位元組為單位)。 |
FileGroupID |
int |
檔案群組的識別碼。 |
LogGroupGUID |
uniqueidentifier NULL |
NULL。 |
DifferentialBaseLSN |
numeric(25,0) NULL |
如果是差異備份,記錄序號大於或等於 DifferentialBaseLSN 的變更會併入差異備份中。 如果是其他備份類型,這個值就是 NULL。 如需有關記錄序號 (LSN) 的資訊,請參閱<記錄序號簡介>的指示。 |
DifferentialBaseGUID |
uniqueidentifier |
如果是差異備份,就是差異基底的唯一識別碼。 如果是其他備份類型,這個值就是 NULL。 |
IsReadOnly |
bit |
1 = 檔案唯讀。 |
IsPresent |
bit |
1 = 檔案在備份中。 |
TDEThumbprint |
varbinary(32) |
顯示資料庫加密金鑰的指模。加密程式指模是用來加密金鑰的憑證 SHA-1 雜湊。如需有關資料庫加密的詳細資訊,請參閱<了解透明資料加密 (TDE)>。 |
權限
在 SQL Server 2008 及更新版本中,取得有關備份組或備份裝置的資訊需要 CREATE DATABASE 權限。如需詳細資訊,請參閱<GRANT 資料庫權限 (Transact-SQL)>。
備份作業可以選擇性地指定媒體集的密碼及 (或) 備份組的密碼。當在媒體集或備份組上定義密碼時,您必須在 RESTORE 陳述式中,指定一個或多個正確的密碼。這些密碼可以防止他人利用 Microsoft SQL Server 工具,在未獲授權的情況下,於媒體上執行還原作業及附加備份組。不過,密碼無法防止使用者利用 BACKUP 陳述式的 FORMAT 選項來覆寫媒體。
安全性注意事項 |
---|
這個密碼所提供的保護很弱。這是為了防止已獲授權或未獲授權的使用者使用 SQL Server 工具進行不正確的還原。它無法防止透過其他方式或以取代密碼的方式來讀取備份資料的情形。未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 保護備份的最佳作法是將備份磁帶存放在安全位置,或備份至適當的存取控制清單 (ACL) 所保護的磁碟檔案中。ACL 應該設在備份建立所在的根目錄下。 |
範例
下列範例會從名稱為 AdventureWorks2008R2Backups 的備份裝置傳回資訊。此範例使用 FILE 選項指定裝置的第二個備份組。
RESTORE FILELISTONLY FROM AdventureWorks2008R2Backups
WITH FILE=2;
GO