Get-SqlAgentJobHistory

获取 SQL 代理的目标实例中存在的作业历史记录。

语法

ByPath (默认值)

Get-SqlAgentJobHistory
    [[-Path] <String[]>]
    [-StartRunDate <DateTime>]
    [-EndRunDate <DateTime>]
    [-JobID <Guid>]
    [-JobName <String>]
    [-MinimumRetries <Int32>]
    [-MinimumRunDurationInSeconds <Int32>]
    [-OldestFirst]
    [-OutcomesType <CompletionResult>]
    [-SqlMessageID <Int32>]
    [-SqlSeverity <Int32>]
    [-Since <SinceType>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

ByName

Get-SqlAgentJobHistory
    [[-ServerInstance] <String[]>]
    [-StartRunDate <DateTime>]
    [-EndRunDate <DateTime>]
    [-JobID <Guid>]
    [-JobName <String>]
    [-MinimumRetries <Int32>]
    [-MinimumRunDurationInSeconds <Int32>]
    [-OldestFirst]
    [-OutcomesType <CompletionResult>]
    [-SqlMessageID <Int32>]
    [-SqlSeverity <Int32>]
    [-Since <SinceType>]
    [-Credential <PSCredential>]
    [-ConnectionTimeout <Int32>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

ByObject

Get-SqlAgentJobHistory
    [-InputObject] <JobServer[]>
    [-StartRunDate <DateTime>]
    [-EndRunDate <DateTime>]
    [-JobID <Guid>]
    [-JobName <String>]
    [-MinimumRetries <Int32>]
    [-MinimumRunDurationInSeconds <Int32>]
    [-OldestFirst]
    [-OutcomesType <CompletionResult>]
    [-SqlMessageID <Int32>]
    [-SqlSeverity <Int32>]
    [-Since <SinceType>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

说明

Get-SqlAgentJobHistory cmdlet 获取 SQL 代理的目标实例中存在的 JobHistory 对象。

此 cmdlet 支持以下作模式来获取 JobHistory 对象:

  • 指定 SQL 代理实例的路径。
  • 在输入中传递 SQL 代理的实例。
  • 在有效上下文中调用 cmdlet。

示例

示例 1:从指定的服务器实例获取整个作业历史记录

PS C:\> Get-SqlAgentJobHistory -ServerInstance "MyServerInstance" | Format-Table

InstanceID SqlMessageID Message
---------- ------------ -------
        34            0 The job succeeded.  The Job was invoked by Schedule 8 (syspolicy_purge_history_schedule).  T...
        33            0 Executed as user: DOMAIN\Machine1$. The step did not generate any output.  Process Exit

此命令获取名为 MyServerInstance 的服务器实例中的整个作业历史记录,然后设置输出的格式。

示例 2:从指定的服务器实例获取作业历史记录

PS C:\> Get-SqlAgentJobHistory -ServerInstance "MyServerInstance" -JobID 187112d7-84e1-4b66-b093-e97201c441ed

JobID            : 187112d7-84e1-4b66-b093-e97201c441ed
JobName          : Job_73cc6990-6386-49f9-9826-96c318ad8afa
RunStatus        : 3

此命令获取名为“MyServerInstance”的服务器实例中 ID 为“187112d7-84e1-4b66-b093-e97201c441ed”的作业对象的作业历史记录。

示例 3:从指定服务器实例的持续时间获取作业历史记录

PS C:\> Get-SqlAgentJobHistory -ServerInstance "MyServerInstance" -Since Yesterday
InstanceID       : 4
SqlMessageID     : 0
Message          : The job was stopped prior to completion by User admin.  The Job was invoked by User
                   admin.  The last step to run was step 1 (JobStep_3e4cd4ba-3433-4311-a6a2-816884101504).

此命令返回自前一天在服务器实例中名为“MyServerInstance”的作业历史记录。

参数

-AccessToken

用于向 SQL Server 进行身份验证的访问令牌,作为用户/密码或 Windows 身份验证的替代方法。

例如,这可用于连接 SQL Azure DB 和使用 SQL Azure Managed InstanceService Principal a 或 a Managed Identity.

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

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

参数属性

类型:PSObject
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ConnectionTimeout

指定在超时失败之前等待服务器连接的秒数。 超时值必须是介于 0 和 65534 之间的整数值。 如果指定了 0,则连接尝试不会超时。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

ByName
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Credential

指定一个 PSCredential 对象,该对象用于指定有权执行此作的 SQL Server 登录名的凭据。

参数属性

类型:PSCredential
默认值:None
支持通配符:False
不显示:False

参数集

ByName
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Encrypt

连接到 SQL Server 时要使用的加密类型。

此值映射到 Encrypt Microsoft.Data.SqlClient 驱动程序的 SqlConnection 对象上的属性 SqlConnectionEncryptOption

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

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

参数属性

类型:String
默认值:None
接受的值:Mandatory, Optional, Strict
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-EndRunDate

指定一个作业筛选器约束,该约束将返回的值限制为作业完成日期。

参数属性

类型:DateTime
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-HostNameInCertificate

验证 SQL Server TLS/SSL 证书时要使用的主机名。 如果为强制加密启用了 SQL Server 实例,并且想要使用主机名/shortname 连接到实例,则必须传递此参数。 如果省略此参数,则必须将完全限定域名(FQDN)传递给 -ServerInstance 才能连接到为强制加密启用的 SQL Server 实例。

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InputObject

指定表示所针对 SQL Server 代理的 SQL Server 管理对象(SMO)对象的数组。

参数属性

类型:

JobServer[]

默认值:None
支持通配符:False
不显示:False

参数集

ByObject
Position:1
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-JobID

指定一个作业筛选器约束,该约束将返回的值限制为作业 ID 值指定的作业。

参数属性

类型:Guid
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-JobName

指定一个作业筛选器约束,该约束将返回的值限制为作业名称指定的作业。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-MinimumRetries

指定作业筛选器约束,该约束将返回的值限制为已失败并重试的作业的最小次数。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-MinimumRunDurationInSeconds

指定作业筛选器约束,该约束将返回的值限制为指定的最短时间长度(以秒为单位)完成的作业。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-OldestFirst

指示此 cmdlet 按最早优先顺序列出作业。 如果未指定此参数,则 cmdlet 使用最新的优先顺序。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-OutcomesType

指定作业筛选器约束,该约束将返回的值限制为在完成时具有指定结果的作业。

此参数的可接受值为:

-- 失败 -- 成功 -- 重试 -- 已取消 -- InProgress -- 未知

参数属性

类型:CompletionResult
默认值:None
接受的值:Failed, Succeeded, Retry, Cancelled, InProgress, Unknown
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Path

将 SQL Server 代理的路径指定为运行作的数组。 如果未为此参数指定值,cmdlet 将使用当前工作位置。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

ByPath
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ServerInstance

将 SQL Server 实例的名称指定为运行 SQL 代理的数组。 对于默认实例,仅指定计算机名称:MyComputer。 对于命名实例,请使用 ComputerName\InstanceName 格式。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

ByName
Position:1
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Since

指定一个缩写,可以代替 StartRunDate 参数。

可以使用 EndRunDate 参数指定它。

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

此参数的可接受值为:

  • 午夜(获取午夜后生成的所有作业历史记录信息)
  • 昨天(获取过去 24 小时内生成的所有作业历史记录信息)
  • LastWeek (获取上周生成的所有作业历史记录信息)
  • LastMonth (获取上个月生成的所有作业历史记录信息)

参数属性

类型:SinceType
默认值:None
接受的值:Midnight, Yesterday, LastWeek, LastMonth
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SqlMessageID

指定作业筛选器约束,该约束将返回的值限制为在运行时生成指定消息的作业。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SqlSeverity

指定作业筛选器约束,该约束将返回的值限制为在运行时生成指定严重性错误的作业。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-StartRunDate

指定一个作业筛选器约束,该约束将返回的值限制为作业启动日期。

参数属性

类型:DateTime
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-TrustServerCertificate

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

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

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

System.String

Microsoft.SqlServer.Management.Smo.Agent.JobServer

输出

System.Object