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>]

说明

Backup-SqlDatabase cmdlet 对 SQL Server 数据库执行备份操作。

这包括完整数据库备份、事务日志备份和数据库文件备份。

此 cmdlet 在 Microsoft.SqlServer.Management.Smo.Backup 类之后建模。

此类上的参数通常对应于该 Smo 对象的属性。

若要按服务器实例路径和数据库名称备份数据库,请在 Path 参数中指定服务器实例路径和数据库参数中的数据库名称。

若要使用 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

要使用的参数可以是表示令牌的字符串,也可以是运行 Get-AzAccessToken -ResourceUrl https://database.windows.net返回的 PSAccessToken 对象。

此参数是模块 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