Restore-SqlDatabase
語法
ByPath (預設值)
Restore-SqlDatabase
[-Database] <String>
[[-BackupFile] <String[]>]
[-ClearSuspectPageTable]
[-KeepReplication]
[-Partial]
[-ReplaceDatabase]
[-RestrictedUser]
[-Offset <Int64[]>]
[-RelocateFile <RelocateFile[]>]
[-AutoRelocateFile]
[-FileNumber <Int32>]
[-RestoreAction <RestoreActionType>]
[-StandbyFile <String>]
[-StopAtMarkAfterDate <String>]
[-StopAtMarkName <String>]
[-StopBeforeMarkAfterDate <String>]
[-StopBeforeMarkName <String>]
[-ToPointInTime <String>]
[-Path <String[]>]
[-SqlCredential <PSObject>]
[-BackupDevice <BackupDeviceItem[]>]
[-PassThru]
[-Checksum]
[-ContinueAfterError]
[-NoRewind]
[-Restart]
[-UnloadTapeAfter]
[-NoRecovery]
[-DatabaseFile <String[]>]
[-DatabaseFileGroup <String[]>]
[-BlockSize <Int32>]
[-BufferCount <Int32>]
[-MaxTransferSize <Int32>]
[-MediaName <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByName
Restore-SqlDatabase
[-Database] <String>
[[-BackupFile] <String[]>]
-ServerInstance <String[]>
[-ClearSuspectPageTable]
[-KeepReplication]
[-Partial]
[-ReplaceDatabase]
[-RestrictedUser]
[-Offset <Int64[]>]
[-RelocateFile <RelocateFile[]>]
[-AutoRelocateFile]
[-FileNumber <Int32>]
[-RestoreAction <RestoreActionType>]
[-StandbyFile <String>]
[-StopAtMarkAfterDate <String>]
[-StopAtMarkName <String>]
[-StopBeforeMarkAfterDate <String>]
[-StopBeforeMarkName <String>]
[-ToPointInTime <String>]
[-Credential <PSCredential>]
[-ConnectionTimeout <Int32>]
[-SqlCredential <PSObject>]
[-BackupDevice <BackupDeviceItem[]>]
[-PassThru]
[-Checksum]
[-ContinueAfterError]
[-NoRewind]
[-Restart]
[-UnloadTapeAfter]
[-NoRecovery]
[-DatabaseFile <String[]>]
[-DatabaseFileGroup <String[]>]
[-BlockSize <Int32>]
[-BufferCount <Int32>]
[-MaxTransferSize <Int32>]
[-MediaName <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Restore-SqlDatabase
[-Database] <String>
[[-BackupFile] <String[]>]
-InputObject <Server[]>
[-ClearSuspectPageTable]
[-KeepReplication]
[-Partial]
[-ReplaceDatabase]
[-RestrictedUser]
[-Offset <Int64[]>]
[-RelocateFile <RelocateFile[]>]
[-AutoRelocateFile]
[-FileNumber <Int32>]
[-RestoreAction <RestoreActionType>]
[-StandbyFile <String>]
[-StopAtMarkAfterDate <String>]
[-StopAtMarkName <String>]
[-StopBeforeMarkAfterDate <String>]
[-StopBeforeMarkName <String>]
[-ToPointInTime <String>]
[-SqlCredential <PSObject>]
[-BackupDevice <BackupDeviceItem[]>]
[-PassThru]
[-Checksum]
[-ContinueAfterError]
[-NoRewind]
[-Restart]
[-UnloadTapeAfter]
[-NoRecovery]
[-DatabaseFile <String[]>]
[-DatabaseFileGroup <String[]>]
[-BlockSize <Int32>]
[-BufferCount <Int32>]
[-MaxTransferSize <Int32>]
[-MediaName <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByDBObject
Restore-SqlDatabase
[-DatabaseObject] <Database>
[[-BackupFile] <String[]>]
[-ClearSuspectPageTable]
[-KeepReplication]
[-Partial]
[-ReplaceDatabase]
[-RestrictedUser]
[-Offset <Int64[]>]
[-RelocateFile <RelocateFile[]>]
[-AutoRelocateFile]
[-FileNumber <Int32>]
[-RestoreAction <RestoreActionType>]
[-StandbyFile <String>]
[-StopAtMarkAfterDate <String>]
[-StopAtMarkName <String>]
[-StopBeforeMarkAfterDate <String>]
[-StopBeforeMarkName <String>]
[-ToPointInTime <String>]
[-SqlCredential <PSObject>]
[-BackupDevice <BackupDeviceItem[]>]
[-PassThru]
[-Checksum]
[-ContinueAfterError]
[-NoRewind]
[-Restart]
[-UnloadTapeAfter]
[-NoRecovery]
[-DatabaseFile <String[]>]
[-DatabaseFileGroup <String[]>]
[-BlockSize <Int32>]
[-BufferCount <Int32>]
[-MaxTransferSize <Int32>]
[-MediaName <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Restore-SqlDatabase Cmdlet 會在 SQL Server 資料庫上執行還原作業。
這包括完整資料庫還原、事務歷史記錄還原,以及資料庫檔案還原。
此 Cmdlet 會在 Microsoft.SqlServer.Management.Smo.Restore 類別之後建立模型。
此 Cmdlet 上的參數通常會對應至 Smo.Restore 物件上的屬性。
範例
範例 1:從網路共用上的備份檔還原資料庫
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak"
這個指令會將完整資料庫 MainDB 從檔案 \\mainserver\databasebackup\MainDB.bak 還原至伺服器實例 Computer\Instance。
範例 2:還原資料庫事務歷史記錄
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log
此命令會將資料庫的 MainDB 事務歷史記錄從 檔案 \\mainserver\databasebackup\MainDB.trn 還原至伺服器實例 Computer\Instance。
範例 3:還原資料庫並提示輸入密碼
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak" -Credential (Get-Credential "sa")
此命令會使用 MainDB SQL 登入,將完整資料庫\\mainserver\databasebackup\MainDB.bak從檔案Computer\Instance還原至伺服器實例sa。
此命令會提示您輸入密碼以完成驗證。
範例 4:使用 NORECOVERY 選項還原事務歷史記錄
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log -NoRecovery
這個指令會將資料庫的 MainDB 事務歷史記錄,並將 NORECOVERY 選項從檔案 \\mainserver\databasebackup\MainDB.trn 還原至伺服器實例 Computer\Instance。
範例 5:將事務歷史記錄檔記錄還原到一個時間點
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log -ToPointInTime "Sep 21, 2017 11:11 PM"
此命令會將資料庫的 MainDB 事務歷史記錄還原至傳遞至 ToPointInTime 參數的日期,2017 年 9 月 21 日下午 11:11。
範例 6:還原資料庫並重新放置數據和記錄檔
PS C:\> $RelocateData = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Data", "c:\MySQLServer\MainDB.mdf")
PS C:\> $RelocateLog = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Log", "c:\MySQLServer\MainDB.ldf")
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RelocateFile @($RelocateData,$RelocateLog)
此範例會將完整資料庫 MainDB 還原至伺服器實例 Computer\Instance,並重新放置數據和記錄檔。
針對已移動的每個檔案,此範例會建構 Microsoft.SqlServer.Management.Smo.RelocateFile 類別的實例。
每個建構函式都會採用兩個自變數:檔案的邏輯名稱,以及檔案將放置在目標伺服器上的實體位置。
RelocateFile 物件會傳遞至 Restore-SqlDatabase Cmdlet 的 RelocateFile 參數。
範例 7:從磁帶還原資料庫
PS C:\> $TapeDevice = New-Object Microsoft.Sqlserver.Management.Smo.BackupDeviceItem("\\.\tape0", "Tape")
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupDevice $TapeDevice
這個範例會將名為 MainDB 的磁帶裝置還原\\.\tape0至伺服器實例 Computer\Instance。
為了表示此裝置,此範例會建構 Microsoft.Sqlserver.Management.Smo.BackupDeviceItem 類別的實例。
建構函式會採用兩個自變數:備份裝置的名稱和備份裝置的類型。
接著,這個BackupDeviceItem物件會傳遞至 Restore-SqlDatabase Cmdlet 的BackupDevice 參數。
範例 8:從 Azure Blob 記憶體服務還原資料庫
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "https://mystorageaccountname.blob.core.windows.net/container/MyDB.bak" -SqlCredential "mySqlCredential"
這個指令會將 Windows Azure Blob 記憶體服務上的檔案完整資料庫 MainDB 還原至伺服器實例 Computer\Instance。
範例 9:使用 -AutoRelocateFile 備份SQL2016上的資料庫,並在SQL2017還原
PS C:\> Get-SqlDatabase -ServerInstance MYSERVER\SQL2016 -Database AdventureWorks | Backup-SqlDatabase -BackupFile 'C:\BAK2\AdventureWorks.bak'
PS C:\> $restore = Restore-SqlDatabase -ServerInstance MYSERVER\SQL2017 -Database AdventureWorks2016 -BackupFile 'C:\BAK2\AdventureWorks.bak' -AutoRelocateFile -PassThru
PS C:\> $db.RelocateFiles
LogicalFileName PhysicalFileName
--------------- ----------------
AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Data.mdf
AdventureWorks_Log C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Log.ldf
# You can see that the original PhysicalFileNames were indeed differet by running the followiong query:
PS C:\> Invoke-Sqlcmd -ServerInstance MYSERVER\SQL2016 -Query "RESTORE FILELISTONLY FROM DISK = N'C:\BAK2\AdventureWorks.bak' WITH NOUNLOAD" | Select -Property LogicalName,PhysicalName
LogicalName PhysicalName
----------- ------------
AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\AdventureWorks_Data.mdf
AdventureWorks_Log C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\AdventureWorks_Log.ldf
第一個命令會在在電腦 MYSERVER 上執行的 SQL2016 實例上備份 AdventureWorks 資料庫。 備份會儲存在 C:\BAK2 底下。
在第二個 Cmdlet 中使用相同的備份檔,在相同計算機上執行的SQL2017實例上還原資料庫(MYSERVER)。
請注意,如果沒有 -AutoRelocate 參數,Cmdlet 就會失敗,因為有不同實體檔案,如上述兩個數據表所示(此外,檔案可能已由SQL2016使用,而且可能無法由SQL2017存取)。
-AutoRelocate 可讓使用者避免明確使用 -RelocationFile,這是相當繁瑣的建置自變數。
注意:假設SQL2016實例和SQL2017實例都能夠存取 C:\BAK2 資料夾。
參數
-AccessToken
用來向 SQL Server 驗證的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。
例如,這可用來連線到 SQL Azure DB 或 SQL Azure Managed Instance 或 。 Service PrincipalManaged Identity
要使用的參數可以是字串,表示令牌或 PSAccessToken 物件,如執行 Get-AzAccessToken -ResourceUrl https://database.windows.net所傳回。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | PSObject
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-AutoRelocateFile
指定此參數時,除非使用 RelocateFile 指定這類邏輯檔案,否則 Cmdlet 會負責自動重新放置備份中的所有邏輯檔案。 伺服器 DefaultFile 和 DefaultLog 是用來重新放置檔案。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-BackupDevice
指定儲存備份的裝置。 此參數不能與BackupFile參數搭配使用。
如果您要備份到磁帶裝置,請使用此參數。
參數屬性
| 類型: | BackupDeviceItem[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-BackupFile
指定儲存備份檔的位置或位置。 這是選擇性參數。
如果未指定,則會搜尋伺服器的默認備份位置來尋找記錄還原的名稱 <database name>.trn ,或 <database name>.bak 搜尋所有其他還原類型。
此參數不能與 BackupDevice 參數搭配使用。
如果您要備份至 Windows Azure Blob 記憶體服務 (URL),則必須指定此參數或 BackupDevice 參數。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 2 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-BlockSize
指定備份的實體區塊大小,以位元組為單位。
支援的大小為 512、1024、2048、4096、8192、16384、32768 和 65536 (64 KB) 位元組。
磁帶裝置的預設值為 65536,所有其他裝置的預設值為 512。
參數屬性
| 類型: | Int32
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-BufferCount
指定要用於備份作業的 I/O 緩衝區總數。
您可以指定任何正整數。
如果緩衝區的 Sqlservr.exe 進程中沒有足夠的虛擬位址空間,您會收到記憶體不足的錯誤。
參數屬性
| 類型: | Int32
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Checksum
表示還原作業期間會計算總和檢查碼值。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ClearSuspectPageTable
表示還原作業之後會刪除可疑的頁面數據表。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ConnectionTimeout
指定在逾時失敗前等候伺服器連線的秒數。
逾時值必須是介於 0 到 65534 之間的整數。
如果指定了 0,連線嘗試就不會逾時。
參數屬性
| 類型: | Int32
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ContinueAfterError
表示當總和檢查碼錯誤發生時,作業會繼續。
如果未設定,總和檢查碼錯誤之後,作業將會失敗。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Credential
指定 PSCredential 物件,其中包含具有執行這項作業許可權之 SQL Server 登入的認證。
參數屬性
| 類型: | PSCredential
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Database
指定要還原的資料庫名稱。
這無法與 DatabaseObject 參數搭配使用。
使用此參數時,也必須指定 Path、 InputObject或 ServerInstance 參數。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByPath
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ByName
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ByObject
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-DatabaseFile
指定還原作業的目標資料庫檔案。
只有當 RestoreAction 參數設定為 Files 時,才會使用此參數。
當 RestoreAction 參數設定為 Files 時,也必須指定 DatabaseFileGroups 或 DatabaseFiles 參數。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-DatabaseFileGroup
指定還原作業的目標資料庫檔案群組。
只有當 RestoreAction 參數設定為 File 時,才會使用此參數。
當 RestoreAction 參數設定為 Files 時,也必須指定 DatabaseFileGroups 或 DatabaseFiles 參數。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-DatabaseObject
指定還原作業的資料庫物件。
參數屬性
| 類型: | Database
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByDBObject
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Encrypt
線上到 SQL Server 時要使用的加密類型。
此值會對應至 Encrypt Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption 。
在模組的 v22 中,預設值為 Optional (為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 「強制」,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 接受的值: | Mandatory, Optional, Strict |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-FileNumber
指定用來識別備份媒體上目標備份集的索引編號。
參數屬性
| 類型: | Int32
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-HostNameInCertificate
用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整功能變數名稱 (FQDN) 傳遞至 -ServerInstance 才能連線到啟用強制加密的 SQL Server 實例。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
指定發生還原之 SQL Server 實例的伺服器物件。
| 類型: | Server[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
ByObject
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-KeepReplication
表示複寫組態已保留。
如果未設定,還原作業會忽略複寫組態。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-MaxTransferSize
指定要在備份媒體與 SQL Server 實例之間傳輸的最大位元元組數目。
可能的值為65536位元組(64 KB),最多4194304個字節(4 MB)。
參數屬性
| 類型: | Int32
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
指定識別媒體集的名稱。
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-NoRecovery
表示資料庫已還原至還原狀態。
復原作業不會發生,而且可以還原其他備份。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-NoRewind
表示當還原完成時,磁帶機在結束位置保持開啟狀態。
如果未設定,作業完成之後,磁帶會重新捲動。
這不適用於磁碟還原。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Offset
指定要還原的頁面位址。
只有當 RestoreAction 設定為 OnlinePage 時,才會使用此專案。
參數屬性
| 類型: | Int64[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Partial
表示還原作業是部分還原。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-PassThru
指出此 Cmdlet 會輸出用來執行還原作業的 Smo.Backup 物件。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定要在其中執行還原作業之 SQL Server 實例的路徑。
這是選擇性參數。
如果未指定,則會使用目前的工作位置。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByPath
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-RelocateFile
指定 Smo.Relocate 檔案物件的清單。
每個物件都包含邏輯備份檔名和實體檔系統位置。
還原會將還原的資料庫移至目標伺服器上的指定實體位置。
參數屬性
| 類型: | RelocateFile[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ReplaceDatabase
指出已建立資料庫的新映像。
這會覆寫任何具有相同名稱的現有資料庫。
如果未設定,當伺服器上已有該名稱的資料庫存在時,還原作業將會失敗。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Restart
表示此 Cmdlet 會繼續部分完成的還原作業。
如果未設定,Cmdlet 會在備份集開頭重新啟動中斷的還原作業。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-RestoreAction
指定執行的還原作業類型。 有效值為:
- 資料庫。 資料庫已還原。
- 檔案。 還原一或多個數據檔。 必須指定 DatabaseFile 或 DatabaseFileGroup 參數。
- OnlinePage。 數據頁面會在在線還原,讓資料庫可供使用者使用。
- OnlineFiles。 數據檔會在線還原,讓資料庫可供使用者使用。 必須指定 DatabaseFile 或 DatabaseFileGroup 參數。
- 日誌。 交易記錄會還原。
參數屬性
| 類型: | RestoreActionType
|
| 預設值: | None |
| 接受的值: | Database, Files, OnlinePage, OnlineFiles, Log |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-RestrictedUser
表示還原資料庫的存取僅限於db_owner固定資料庫角色,以及 dbcreator 和 sysadmin 固定伺服器角色。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Script
指出此 Cmdlet 會輸出執行還原作業的 Transact-SQL 腳本。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ServerInstance
指定 SQL Server 實例的名稱。
此伺服器實例會成為還原作業的目標。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByName
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-SqlCredential
指定儲存驗證資訊的 SQL Server 認證物件。
如果您要備份至 Blob 記憶體服務,您必須指定此參數。
儲存的驗證資訊包括記憶體帳戶名稱和相關聯的存取金鑰值。
請勿為磁碟或磁帶指定此參數。
參數屬性
| 類型: | PSObject
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-StandbyFile
指定復原檔案的名稱,這個檔案會當做 SQL Server 實例映射策略的一部分使用。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-StopAtMarkAfterDate
指定要與 StopAtMarkName 參數所指定標記名稱搭配使用的日期,以判斷復原作業的停止點。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-StopAtMarkName
指定要停止復原作業的標示交易。
這會與 StopAtMarkAfterDate 搭配使用,以判斷復原作業的停止點。
復原的數據報含包含標記的交易。
如果未設定 StopAtMarkAfterDate 值,復原會在具有指定名稱的第一個標記處停止。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
指定要與 StopBeforeMarkName 搭配使用的日期,以判斷復原作業的停止點。
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
指定要停止復原作業之前標示的交易。
這與 StopBeforeMarkAfterDate 搭配使用,以判斷復原作業的停止點。
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ToPointInTime
指定資料庫記錄還原的端點。
這隻適用於 RestoreAction 設定為 Log 時。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-TrustServerCertificate
指出通道是否會在略過憑證鏈結以驗證信任時加密。
在模組的 v22 中,預設值為 $true (為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-UnloadTapeAfter
表示當作業完成時,磁帶裝置會重新捲動和卸除。
如果未設定,則不會嘗試倒轉並卸除磁帶媒體。
這不適用於磁碟備份。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
| 類型: | SwitchParameter
|
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 無線 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
Microsoft.SqlServer.Management.Smo.Database
Microsoft.SqlServer.Management.Smo.Server
指定 SMO。描述還原作業發生所在的 SQL Server 實例的伺服器物件。
System.String