Backup-SqlDatabase

備份 SQL Server 資料庫物件。

Syntax

Backup-SqlDatabase
      [-BackupContainer <String>]
      [-MirrorDevices <BackupDeviceList[]>]
      [-BackupAction <BackupActionType>]
      [-BackupSetName <String>]
      [-BackupSetDescription <String>]
      [-CompressionOption <BackupCompressionOptions>]
      [-CopyOnly]
      [-ExpirationDate <DateTime>]
      [-FormatMedia]
      [-Incremental]
      [-Initialize]
      [-LogTruncationType <BackupTruncateLogType>]
      [-MediaDescription <String>]
      [-RetainDays <Int32>]
      [-SkipTapeHeader]
      [-UndoFileName <String>]
      [-EncryptionOption <BackupEncryptionOptions>]
      [-StatementTimeout <Int32>]
      [-Database] <String>
      [-Path <String[]>]
      [[-BackupFile] <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>]
Backup-SqlDatabase
      [-BackupContainer <String>]
      [-MirrorDevices <BackupDeviceList[]>]
      [-BackupAction <BackupActionType>]
      [-BackupSetName <String>]
      [-BackupSetDescription <String>]
      [-CompressionOption <BackupCompressionOptions>]
      [-CopyOnly]
      [-ExpirationDate <DateTime>]
      [-FormatMedia]
      [-Incremental]
      [-Initialize]
      [-LogTruncationType <BackupTruncateLogType>]
      [-MediaDescription <String>]
      [-RetainDays <Int32>]
      [-SkipTapeHeader]
      [-UndoFileName <String>]
      [-EncryptionOption <BackupEncryptionOptions>]
      [-StatementTimeout <Int32>]
      [-DatabaseObject] <Database>
      [[-BackupFile] <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>]
Backup-SqlDatabase
      [-BackupContainer <String>]
      [-MirrorDevices <BackupDeviceList[]>]
      [-BackupAction <BackupActionType>]
      [-BackupSetName <String>]
      [-BackupSetDescription <String>]
      [-CompressionOption <BackupCompressionOptions>]
      [-CopyOnly]
      [-ExpirationDate <DateTime>]
      [-FormatMedia]
      [-Incremental]
      [-Initialize]
      [-LogTruncationType <BackupTruncateLogType>]
      [-MediaDescription <String>]
      [-RetainDays <Int32>]
      [-SkipTapeHeader]
      [-UndoFileName <String>]
      [-EncryptionOption <BackupEncryptionOptions>]
      [-StatementTimeout <Int32>]
      [-Database] <String>
      -ServerInstance <String[]>
      [-Credential <PSCredential>]
      [-ConnectionTimeout <Int32>]
      [[-BackupFile] <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>]
Backup-SqlDatabase
      [-BackupContainer <String>]
      [-MirrorDevices <BackupDeviceList[]>]
      [-BackupAction <BackupActionType>]
      [-BackupSetName <String>]
      [-BackupSetDescription <String>]
      [-CompressionOption <BackupCompressionOptions>]
      [-CopyOnly]
      [-ExpirationDate <DateTime>]
      [-FormatMedia]
      [-Incremental]
      [-Initialize]
      [-LogTruncationType <BackupTruncateLogType>]
      [-MediaDescription <String>]
      [-RetainDays <Int32>]
      [-SkipTapeHeader]
      [-UndoFileName <String>]
      [-EncryptionOption <BackupEncryptionOptions>]
      [-StatementTimeout <Int32>]
      [-Database] <String>
      -InputObject <Server[]>
      [[-BackupFile] <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>]
Backup-SqlDatabase
      [-BackupContainer <String>]
      [-MirrorDevices <BackupDeviceList[]>]
      [-BackupAction <BackupActionType>]
      [-BackupSetName <String>]
      [-BackupSetDescription <String>]
      [-CompressionOption <BackupCompressionOptions>]
      [-CopyOnly]
      [-ExpirationDate <DateTime>]
      [-FormatMedia]
      [-Incremental]
      [-Initialize]
      [-LogTruncationType <BackupTruncateLogType>]
      [-MediaDescription <String>]
      [-RetainDays <Int32>]
      [-SkipTapeHeader]
      [-UndoFileName <String>]
      [-EncryptionOption <BackupEncryptionOptions>]
      [-StatementTimeout <Int32>]
      [[-BackupFile] <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

Backup-SqlDatabase Cmdlet 會在 SQL Server 資料庫上執行備份作業。

這包括完整資料庫備份、交易記錄備份和資料庫檔案備份。

這個 Cmdlet 是依照 Microsoft.SqlServer.Management.Smo.Backup 類別建立的。

此類別的參數通常會對應至該 Smo 物件的屬性。

若要依伺服器實例路徑和資料庫名稱備份資料庫,請在Path參數中指定伺服器實例路徑,並在Database參數中指定資料庫名稱。

若要使用 Smo.Server 對象和資料庫名稱來備份資料庫,請直接或使用管線運算符,以及 Database 參數中的資料庫名稱,在 InputObject 參數中指定 Smo.Server 物件。

若要依伺服器實例和資料庫名稱備份資料庫,請在 ServerInstance 參數中指定伺服器實例,並在 Database 參數中指定資料庫名稱。

若要使用 Smo.Database 物件備份資料庫,請直接或使用管線運算符,在 DatabaseObject 參數中指定 Smo.Database 物件。

根據預設,此 Cmdlet 會執行完整資料庫備份。

使用BackupAction 參數設定備份的類型。

根據預設,備份檔會儲存在預設伺服器備份位置,其名稱 databasename.bak為完整和/或文件備份的名稱下,以及記錄備份的名稱為 databasename.trn。 若要指定不同的檔名,請使用BackupFile 參數。

若要指定備份檔位置並使用自動產生的檔名,請使用BackupContainer 參數指定位置。

範例

範例 1:備份完整資料庫

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB"

此命令會建立名為 『MainDB』 之資料庫的完整資料庫備份至伺服器實例 『Computer\Instance』 的預設備份位置。 備份檔名為 『MainDB.bak』。

範例 2:根據位置備份資料庫

PS C:\> Set-Location "SQLSERVER:\SQL\Computer\Instance" 
PS SQLSERVER:\SQL\Computer\Instance> Backup-SqlDatabase -Database "MainDB"

此命令會建立資料庫 'MainDB' 的完整資料庫備份至伺服器實例 'Computer\Instance' 的默認備份位置。 目前的工作目錄是用來判斷備份發生所在的伺服器實例。

範例 3:備份事務歷史記錄

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupAction Log

此命令會建立資料庫 'MainDB' 事務歷史記錄檔備份至伺服器實例 'Computer\Instance' 的默認備份位置。 備份檔名為 『MainDB.trn』。

範例 4:備份資料庫並提示輸入認證

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -Credential (Get-Credential "sa")

此命令會使用 『sa』 SQL Server 登入,建立資料庫 『MainDB』 的完整資料庫備份。 此命令會提示輸入密碼以完成驗證。

範例 5:將資料庫備份至網路檔案共用

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak"

此命令會建立資料庫 『MainDB』 的完整資料庫備份至檔案 “\\mainserver\databasebackup\MainDB.bak”。

範例 6:備份伺服器實例中的所有資料庫

PS C:\> Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase

此命令會將伺服器執行個體 'Computer\Instance' 上的所有資料庫都備份至預設備份位置。 備份檔的名稱為 <資料庫名稱>.bak。

範例 7:將伺服器實例中的所有資料庫備份至網路檔案共用

PS C:\> Set-Location "SQLSERVER:\SQL\Computer\Instance\Databases"
PS SQLSERVER:\SQL\Computer\Instance\Databases> foreach ($database in (Get-ChildItem)) {
     $dbName = $database.Name
     Backup-SqlDatabase -Database $dbName -BackupFile "\\mainserver\databasebackup\$dbName.bak" }

此命令會為伺服器實例 'Computer\Instance' 上的每個資料庫建立完整備份至共用 “\\mainserver\databasebackup”。 備份檔的名稱為 <資料庫名稱>.bak。

範例 8:備份次要檔案群組中的所有檔案

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupAction Files -DatabaseFileGroup "FileGroupJan","FileGroupFeb"

此命令會建立次要檔案群組 『FileGroupJan』 和 『FileGroupFeb』 中每個檔案的完整文件備份。

範例 9:建立差異備份

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -Incremental

此命令會建立資料庫 'MainDB' 的差異備份至伺服器實例 'Computer\Instance' 的默認備份位置。 備份檔名為 「MainDB.bak」。。

範例 10:建立磁帶機的備份

PS C:\> $TapeDevice = New-Object Microsoft.Sqlserver.Management.Smo.BackupDeviceItem("\\.\tape0", "Tape")
PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupDevice $TapeDevice

此命令會建立資料庫 MainDB 的完整備份到磁帶裝置 “\\.\tape0”。 為了表示此裝置,命令會建構 Microsoft.Sqlserver.Management.Smo.BackupDeviceItem 對象的實例。 建構函式會採用兩個自變數:備份裝置的名稱和備份裝置的類型。 這個BackupDeviceItem對象會傳遞至 Backup-SqlDatabase Cmdlet的BackupDevice 參數。

範例 11:將資料庫備份至 Azure Blob 儲存體 服務

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupContainer "https://storageaccountname.blob.core.windows.net/containername" -SqlCredential "SQLCredentialName"

此命令會建立資料庫 『MainDB』 的完整備份至 Windows Azure Blob 儲存體 服務。 它會使用BackupContainer來指定 Windows Azure Blob 容器) (URL 的位置。 備份檔的名稱會自動產生。 SqlCredential 參數是用來指定用於儲存驗證資訊之 SQL Server 認證的名稱。

範例 12:將資料庫備份至 Azure Blob 儲存體 服務,並指定檔名

PS C:\> Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainyDB" -BackupFile "https://storageaccountname.blob.core.windows.net/containername/MainDB.bak" -SqlCredential "SQLCredentialName"

此命令會建立資料庫 MainDB 的完整備份至 Windows Azure Blob 儲存體 服務。 此命令會使用 BackupFile 參數指定備份檔案的位置 (URL) 和名稱。 SqlCredential 參數是用來指定 SQL Server 認證的名稱。

範例 13:將所有資料庫備份至 Azure Blob 儲存體 服務

PS C:\> Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase -BackupContainer "https://storageaccountname.blob.core.windows.net/containername" -SqlCredential "SQLCredentialName"

此命令會使用BackupContainer 參數,將伺服器實例 'Computer\Instance' 上的所有資料庫備份至 Windows Azure Blob 儲存體 服務位置。 備份檔案的名稱是自動產生的。

範例 14:建立加密備份

PS C:\> $EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
PS C:\> Backup-SqlDatabase -ServerInstance "." -Database "MainDB" -BackupFile "MainDB.bak" -CompressionOption On -EncryptionOption $EncryptionOption

此範例會建立加密選項,並將其當做 Backup-SqlDatabase 中的參數值來建立加密的備份。

參數

-AccessToken

用來驗證 SQL Server 的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。

例如,這可用來連線至 SQL Azure DB 或使用 或使用 SQL Azure Managed InstanceService PrincipalManaged Identity

要使用的參數可以是字串,代表令牌或 PSAccessToken 執行 所傳 Get-AzAccessToken -ResourceUrl https://database.windows.net回的物件。

這個參數是模組 v22 的新功能。

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupAction

指定要執行的備份作業類型。 有效值為:

  • 資料庫。 備份資料庫中的所有資料檔案。
  • 檔案。 備份 DatabaseFile 或 DatabaseFileGroup 參數中指定的數據檔。
  • 日誌。 備份交易記錄。
Type:BackupActionType
Accepted values:Database, Files, Log
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupContainer

指定 Cmdlet 儲存備份的資料夾或位置。 這可以是 Azure Blob 容器磁碟或 URL 上的資料夾。 在指定的執行個體中備份多個資料庫時,這個參數可能會很有用。 這個參數無法搭配 BackupDevice 參數使用。 BackupContainer 參數無法搭配 BackupFile 參數使用。

用來指定位置的路徑應該以正斜線結尾 (/) 。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupDevice

指定儲存備份的裝置。 這個參數無法搭配 BackupFile 參數使用。 如果您要備份至磁帶,請使用此參數。

Type:BackupDeviceItem[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupFile

指定備份的位置和檔名。 這是選擇性參數。 如果未指定,備份會儲存在伺服器的默認備份位置中,其名稱為 databasename.bak,以進行完整備份和文件備份,或記錄備份的 databasename.trn。 此參數不能與 BackupDevice 或 BackupContainer 參數搭配使用。

Type:String[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupSetDescription

指定備份集的描述。 這是選擇性參數。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupSetName

指定備份組的名稱。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BlockSize

指定備份的實體區塊大小,以位元組為單位。 支援的大小為 512、1024、2048、4096、8192、16384、32768 和 65536 (64 KB) 位元組。 磁帶裝置的預設值為 65536,所有其他裝置則為 512。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BufferCount

指定要用於備份作業的 I/O 緩衝區數目。 您可以指定任何正整數。 如果緩衝區的 Sqlservr.exe 進程中沒有足夠的虛擬位址空間,您會收到記憶體不足的錯誤。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Checksum

表示在備份作業期間計算總和檢查碼值。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompressionOption

指定備份作業的壓縮選項。

Type:BackupCompressionOptions
Accepted values:Default, On, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

在執行 Cmdlet 之前,會提示您確認。在執行 Cmdlet 之前,會提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionTimeout

指定在逾時失敗之前等候伺服器連線的秒數。 逾時值必須是介於 0 到 65534 之間的整數。 如果指定 0,則連線嘗試不會逾時。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContinueAfterError

表示發生總和檢查碼錯誤時,作業會繼續。 如果未設定,則作業會在總和檢查碼錯誤之後失敗。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CopyOnly

表示備份是僅限複製的備份。 僅限複製備份不會影響定期排程傳統備份的一般順序。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定 PSCredential 物件,其中包含具有執行這項作業許可權之 SQL Server 登入的認證。 這不是在存取 SQL Server 外部資源時,SQL Server 在內部儲存驗證資訊的 SQL 認證物件。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Database

指定要備份的資料庫名稱。 這個參數不能與 DatabaseObject 參數搭配使用。 指定此參數時,也必須指定Path、InputObject或 ServerInstance 參數。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseFile

指定要備份的一或多個資料庫檔案。 只有當 BackupAction 設定為 Files 時,才會使用此參數。 當 BackupAction 設定為 Files 時,必須指定 DatabaseFileGroups 或 DatabaseFiles 參數。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseFileGroup

指定備份作業的目標資料庫檔案群組。 只有當 BackupAction 屬性設定為 Files 時,才會使用此參數。 當 BackupAction 參數設定為 Files 時,必須指定 DatabaseFileGroups 或 DatabaseFiles 參數。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseObject

指定備份作業的資料庫物件。

Type:Database
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Encrypt

連接到 SQL Server 時要使用的加密類型。

這個值會對應至 Encrypt Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption

在模組的 v22 中,預設為 Optional (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是「強制」,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 中的新功能。

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EncryptionOption

指定備份作業的加密選項。

Type:BackupEncryptionOptions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExpirationDate

指定備份集到期的日期和時間,而且不再將備份數據視為有效。 這隻能用於儲存在磁碟或磁帶裝置上的備份數據。 備份集比到期日還舊的備份集可供稍後的備份覆寫。

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatMedia

表示磁帶會格式化為備份作業的第一個步驟。 這不適用於磁碟備份。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整域名 (FQDN) 傳遞至 -ServerInstance,才能連線到啟用強制加密的 SQL Server 實例。

這個參數是模組 v22 中的新功能。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Incremental

表示執行差異備份。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Initialize

表示與備份作業相關聯的裝置已初始化。 這會覆寫媒體上任何現有的備份集,並將此備份設為媒體上的第一個備份集。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定備份位置的伺服器物件。

Type:Server[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LogTruncationType

指定記錄備份的截斷行為。 有效值為:

-- TruncateOnly -- NoTruncate -- Truncate

預設值為 Truncate。

Type:BackupTruncateLogType
Accepted values:TruncateOnly, NoTruncate, Truncate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxTransferSize

指定要在備份媒體與 SQL Server 實例之間傳輸的最大位元元組數目。 可能的值是 65536 個位元組 (64 KB) 的倍數,最多 4194304 個位元組 (4 MB)。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MediaDescription

指定包含備份集之媒體的描述。 這是選擇性參數。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MediaName

指定用來識別媒體集的名稱。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MirrorDevices

指定鏡像備份所使用之 BackupDeviceList 物件的陣列。

Type:BackupDeviceList[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoRecovery

表示記錄的結尾未備份。 還原時,資料庫會處於還原狀態。 如果未設定,則會備份記錄檔的尾端。 這隻適用於BackupAction 參數設定為Log時。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoRewind

表示當備份完成時,磁帶機會保持開啟狀態。 如果未設定,就會在作業完成之後倒轉磁帶。 這不適用於磁碟或 URL 備份。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

表示 Cmdlet 會輸出執行備份的 Smo.Backup 物件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定要執行備份作業 SQL Server 實例的路徑。 這是選擇性參數。 如果未指定,此參數的值預設為目前的工作位置。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Restart

表示 Cmdlet 會繼續處理部分完成的備份作業。 如果未設定,Cmdlet 會在備份集開始時重新啟動中斷的備份作業。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RetainDays

指定必須經過才能覆寫備份集的天數。 這隻能用於儲存在磁碟或磁帶裝置上的備份數據。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Script

表示此 Cmdlet 會輸出執行備份作業的 Transact-SQL 腳本。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerInstance

指定 SQL Server 實例的名稱。 這個伺服器執行個體會成為備份作業的目標。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SkipTapeHeader

表示磁帶標頭未讀取。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SqlCredential

指定儲存驗證資訊的 SQL Server 認證物件。 如果您要備份至 Blob 記憶體服務,則必須指定此參數。 儲存的驗證資訊包括記憶體帳戶名稱和相關聯的存取金鑰值。 請勿為磁碟或磁帶指定此參數。

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatementTimeout

設定備份作業的逾時 (,以秒為單位) 。

如果值為 0 或未指定 StatementTimeout 參數,還原作業就不會逾時。

Type:Int32
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TrustServerCertificate

指出通道是否會在略過憑證鏈結以驗證信任時加密。

在模組的 v22 中,預設為 $true (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 中的新功能。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UndoFileName

指定復原期間用來儲存復原之未認可交易的復原檔名。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UnloadTapeAfter

表示當作業完成時,磁帶裝置會重新叫用和卸除。 如果未設定,則不會嘗試倒轉並卸載磁帶媒體。 這不適用於磁碟或 URL 備份。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 未執行。顯示 Cmdlet 執行時會發生什麼情況。 Cmdlet 並不會執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

SMO.Server

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

指定 SMO。伺服器對象,參考備份作業發生所在 SQL Server 實例。

System.String[]

輸出

System.Object