Get-SqlBackupHistory

获取有关数据库的备份信息,并返回基于此 cmdlet 指定的参数找到的每个备份记录的 SMO BackupSet 对象。

语法

Get-SqlBackupHistory
   [-Since <SinceType>]
   [-StartTime <DateTime>]
   [-EndTime <DateTime>]
   [-BackupType <BackupSetType>]
   [-IncludeSnapshotBackups]
   [-TimeSpan <TimeSpan>]
   [-IgnoreProviderContext]
   [-SuppressProviderContextWarning]
   [[-Path] <String[]>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-DatabaseName <System.Collections.Generic.List`1[System.String]>]
   [<CommonParameters>]
Get-SqlBackupHistory
   [-Since <SinceType>]
   [-StartTime <DateTime>]
   [-EndTime <DateTime>]
   [-BackupType <BackupSetType>]
   [-IncludeSnapshotBackups]
   [-TimeSpan <TimeSpan>]
   [-IgnoreProviderContext]
   [-SuppressProviderContextWarning]
   [[-ServerInstance] <String[]>]
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-DatabaseName <System.Collections.Generic.List`1[System.String]>]
   [<CommonParameters>]
Get-SqlBackupHistory
   [-Since <SinceType>]
   [-StartTime <DateTime>]
   [-EndTime <DateTime>]
   [-BackupType <BackupSetType>]
   [-IncludeSnapshotBackups]
   [-TimeSpan <TimeSpan>]
   [-IgnoreProviderContext]
   [-SuppressProviderContextWarning]
   [-InputObject] <Server[]>
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-DatabaseName <System.Collections.Generic.List`1[System.String]>]
   [<CommonParameters>]

说明

此 cmdlet 搜索服务器实例,并将备份记录作为 SMO BackupSet 对象获取与指定参数匹配的所有记录。

示例

示例 1

PS C:\> Get-SqlBackupHistory -ServerInstance test-server -DatabaseName AdventureWorks2014

Name                                     Type               Backup Start Date         Backup Finish Date
----                                     ----               -----------------         ------------------
AdventureWorks2014-Full Database Backup  Database           2/21/2017 7:52:39 PM      2/21/2017 7:52:40 PM
AdventureWorks2014-Full Database Backup  Database           3/20/2017 2:41:39 PM      3/20/2017 2:41:39 PM
AdventureWorks2014-Full-2017-07-24T22:22 Database           7/24/2017 3:23:11 PM      7/24/2017 3:23:11 PM

此示例获取测试服务器 SQL 实例上 AdventureWorks2014 数据库的所有备份类型的记录。

参数

-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

-BackupType

要筛选的备份类型。 如果未指定,则获取所有备份类型。 下面定义了接受的值。

类型:BackupSetType
接受的值:Database, Differential, Incremental, Log, FileOrFileGroup, FileOrFileGroupDifferential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ConnectionTimeout

等待以秒为单位建立连接的时间,以及要填充的动态生成的 -DatabaseName 参数的时间。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Credential

用于连接到 SQL 实例的用户名和密码字段的 PSCredential 对象。

类型:PSCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DatabaseName

要检索其备份记录的数据库的名称。 这是动态填充的字段,因此提供有关数据库名称的自动完成建议。

类型:System.Collections.Generic.List`1[System.String]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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

-EndTime

要检索的所有备份记录的完成时间。

类型:DateTime
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

-IgnoreProviderContext

指示此 cmdlet 不使用当前上下文替代 ServerInstance的值,DatabaseName 参数。 如果未指定此参数,cmdlet 将忽略这些参数的值(如果可能),而忽略运行 cmdlet 的上下文。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IncludeSnapshotBackups

此开关也会使 cmdlet 获取快照备份的记录。 默认情况下,不会检索此类备份。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

指定要为其获取备份记录的 SMO 服务器对象。

类型:Server[]
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Path

指定要用于获取 BackupSet 的此 cmdlet 的服务器实例或数据库的 SQL 提供程序路径。 如果未指定,请使用当前工作位置。

类型:String[]
Position:1
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ProgressAction

确定 PowerShell 如何响应脚本、cmdlet 或提供程序生成的进度更新,例如由 Write-Progress cmdlet 生成的进度栏。 Write-Progress cmdlet 创建显示命令状态的进度栏。

类型:ActionPreference
别名:proga
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ServerInstance

此 cmdlet 将面向的服务器实例的名称。

类型:String[]
Position:1
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Since

指定可以代替 StartTime 参数的缩写。

可以使用 EndTime 参数指定它。

如果使用此参数,则无法使用 StartTime 参数。

此参数的可接受值为:

  • 午夜(获取午夜后生成的所有作业历史记录信息)
  • 昨天(获取过去 24 小时内生成的所有作业历史记录信息)
  • LastWeek (获取上周生成的所有作业历史记录信息)
  • LastMonth (获取上个月生成的所有作业历史记录信息)
类型:SinceType
接受的值:Midnight, Yesterday, LastWeek, LastMonth
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StartTime

获取在此指定时间之后启动的备份记录。

类型:DateTime
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SuppressProviderContextWarning

当 cmdlet 使用提供程序上下文时,禁止显示警告。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TimeSpan

如果指定,则会导致 cmdlet 筛选生成时间超过“Timespan”的记录。

类型:TimeSpan
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TrustServerCertificate

指示通道是否在绕过证书链以验证信任的同时进行加密。

在模块的 v22 中,默认为 $true(为了与 v21 兼容)。 在模块的 v23+ 中,默认值将为“$false”,这可能会为现有脚本创建中断性变更。

此参数是模块 v22 中的新增参数。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

System.String[]

Microsoft.SqlServer.Management.Smo.Server[]

输出

System.Object