共用方式為


Backup-SqlDatabase

備份 SQL Server 資料庫物件。

語法

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>]
      [-ProgressAction <ActionPreference>]
      [-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>]
      [-ProgressAction <ActionPreference>]
      [-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>]
      [-ProgressAction <ActionPreference>]
      [-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>]
      [-ProgressAction <ActionPreference>]
      [-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>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

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

這包括完整資料庫備份、事務歷史記錄備份和資料庫檔備份。

此 Cmdlet 會在 Microsoft.SqlServer.Management.Smo.Backup 類別之後建立模型。

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

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

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

若要依伺服器實例和資料庫名稱備份資料庫,請在 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 驗證的替代方案。

例如,這可用來使用 Service PrincipalManaged Identity來連線到 SQL Azure DBSQL Azure Managed Instance

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

此參數是模組 v22 的新功能。

類型:PSObject
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BackupAction

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

  • 資料庫。 備份資料庫中的所有數據檔。
  • 檔。 備份 DatabaseFile 或 DatabaseFileGroup 參數中指定的數據檔。
  • 日誌。 備份事務歷史記錄。
類型:BackupActionType
接受的值:Database, Files, Log
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BackupContainer

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

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BackupDevice

指定儲存備份的裝置。 此參數不能與BackupFile參數搭配使用。 如果您要備份至磁帶,請使用此參數。

類型:BackupDeviceItem[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BackupFile

指定備份的位置和檔名。

這是選擇性參數。

如果未指定,備份會儲存在伺服器的默認備份位置,其名稱會以完整備份和檔備份的名稱databasename.bak,或記錄備份的 databasename.trn。

備份至多個檔案時,請以逗號分隔檔名,例如:-BackupFile C:\Backups\databasename2.bak,C:\Backups\databasename2.bak

此參數不能與 -BackupDevice-BackupContainer 參數搭配使用。

類型:String[]
Position:2
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BackupSetDescription

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BackupSetName

指定備份集的名稱。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BlockSize

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

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BufferCount

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

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Checksum

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-CompressionOption

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

類型:BackupCompressionOptions
接受的值:Default, On, Off
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Confirm

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

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-ConnectionTimeout

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

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ContinueAfterError

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-CopyOnly

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Credential

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

類型:PSCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Database

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

類型:String
Position:1
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-DatabaseFile

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

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DatabaseFileGroup

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

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DatabaseObject

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

類型:Database
Position:1
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Encrypt

線上到 SQL Server 時要使用的加密類型。

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

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

此參數是模組 v22 的新功能。

類型:String
接受的值:Mandatory, Optional, Strict
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-EncryptionOption

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

類型:BackupEncryptionOptions
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ExpirationDate

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

類型:DateTime
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-FormatMedia

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-HostNameInCertificate

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

此參數是模組 v22 的新功能。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Incremental

表示執行差異備份。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Initialize

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-InputObject

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

類型:Server[]
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-LogTruncationType

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

-- TruncateOnly -- NoTruncate -- Truncate

預設值為 Truncate。

類型:BackupTruncateLogType
接受的值:TruncateOnly, NoTruncate, Truncate
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MaxTransferSize

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

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MediaDescription

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MediaName

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MirrorDevices

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

類型:BackupDeviceList[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-NoRecovery

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-NoRewind

表示備份完成時,磁帶機在結束位置保持開啟狀態。 未設定時,作業完成之後,磁帶會重新捲動。 這不適用於磁碟或 URL 備份。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PassThru

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Path

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

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ProgressAction

決定 PowerShell 如何回應腳本、Cmdlet 或提供者所產生的進度更新,例如 Write-Progress Cmdlet 所產生的進度列。 Write-Progress Cmdlet 會建立顯示命令狀態的進度列。

類型:ActionPreference
別名:proga
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Restart

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RetainDays

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

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Script

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ServerInstance

指定 SQL Server 實例的名稱。 此伺服器實例會成為備份作業的目標。

類型:String[]
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-SkipTapeHeader

表示磁帶標頭未讀取。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-SqlCredential

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

類型:PSObject
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-StatementTimeout

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

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

類型:Int32
Position:Named
預設值:0
必要:False
接受管線輸入:False
接受萬用字元:False

-TrustServerCertificate

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

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

此參數是模組 v22 的新功能。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UndoFileName

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UnloadTapeAfter

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

SMO.Server

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

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

System.String[]

輸出

System.Object