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>]
[-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>]
说明
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 身份验证的替代方法。
例如,这可用于连接到 SQL Azure DB
和使用 SQL Azure Managed Instance
Service Principal
或 Managed 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 凭据对象,在访问 SQL Server 外部的资源时,SQL Server用于在内部存储身份验证信息。
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 设置为“文件”时,才使用此参数。 当 BackupAction 设置为“文件”时,必须指定 DatabaseFileGroups 或 DatabaseFiles 参数。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DatabaseFileGroup
指定备份操作面向的数据库文件组。 仅当 BackupAction 属性设置为“文件”时,才使用此参数。 当 BackupAction 参数设置为“文件”时,必须指定 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