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 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 凭据对象,在访问 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