RESTORE FILELISTONLY (Transact-SQL)
傳回含有 SQL Server 中資料庫清單的結果集及備份組所包含的記錄檔。
注意
如需引數的描述,請參閱<RESTORE 引數 (Transact-SQL)>。
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
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 引數的描述,請參閱<RESTORE 引數 (Transact-SQL)>。
結果集
用戶端可以利用 RESTORE FILELISTONLY 來取得備份組所包含的檔案清單。 這項資訊會當做結果集傳回,其中針對每個檔案各包含一個資料列。
資料行名稱 |
資料類型 |
說明 |
LogicalName |
nvarchar(128) |
檔案的邏輯名稱。 |
PhysicalName |
nvarchar(260) |
檔案的實體或作業系統名稱。 |
Type |
char(1) |
這是檔案的類型,它有下列幾種: L = Microsoft SQL Server 記錄檔 D = SQL Server 資料檔 F = 全文檢索目錄 S = FileStream、FileTable 或 In-Memory OLTP 容器 |
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。 |
DifferentialBaseGUID |
uniqueidentifier |
如果是差異備份,就是差異基底的唯一識別碼。 如果是其他備份類型,這個值就是 NULL。 |
IsReadOnly |
bit |
1 = 檔案唯讀。 |
IsPresent |
bit |
1 = 檔案在備份中。 |
TDEThumbprint |
varbinary(32) |
顯示資料庫加密金鑰的指模。 加密程式指模是用來加密金鑰的憑證 SHA-1 雜湊。 如需有關資料庫加密的詳細資訊,請參閱<透明資料加密 (TDE)>。 |
安全性
備份作業可以選擇性地指定媒體集的密碼及 (或) 備份組的密碼。 當在媒體集或備份組上定義密碼時,您必須在 RESTORE 陳述式中,指定一個或多個正確的密碼。 這些密碼可以防止他人利用 Microsoft SQL Server 工具,在未獲授權的情況下,於媒體上執行還原作業及附加備份組。 不過,密碼無法防止使用者利用 BACKUP 陳述式的 FORMAT 選項來覆寫媒體。
安全性注意事項 |
---|
這個密碼所提供的保護很弱。這是為了防止已獲授權或未獲授權的使用者使用 SQL Server 工具進行不正確的還原。它無法防止透過其他方式或以取代密碼的方式來讀取備份資料。未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 保護備份的最佳作法是將備份磁帶存放在安全位置,或備份至適當的存取控制清單 (ACL) 所保護的磁碟檔案中。ACL 應該設在備份建立所在的根目錄下。 |
權限
從 SQL Server 2008 開始,取得有關備份組或備份裝置的資訊需要 CREATE DATABASE 權限。 如需詳細資訊,請參閱<GRANT 資料庫權限 (Transact-SQL)>。
範例
下列範例會從名稱為 AdventureWorksBackups 的備份裝置傳回資訊。 此範例使用 FILE 選項指定裝置的第二個備份組。
RESTORE FILELISTONLY FROM AdventureWorksBackups
WITH FILE=2;
GO
請參閱
參考
RESTORE REWINDONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)