Get-SqlAgentJobHistory
获取 SQL 代理的目标实例中存在的作业历史记录。
语法
Get-SqlAgentJobHistory
[-StartRunDate <DateTime>]
[-EndRunDate <DateTime>]
[-JobID <Guid>]
[-JobName <String>]
[-MinimumRetries <Int32>]
[-MinimumRunDurationInSeconds <Int32>]
[-OldestFirst]
[-OutcomesType <CompletionResult>]
[-SqlMessageID <Int32>]
[-SqlSeverity <Int32>]
[-Since <SinceType>]
[[-Path] <String[]>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Get-SqlAgentJobHistory
[-StartRunDate <DateTime>]
[-EndRunDate <DateTime>]
[-JobID <Guid>]
[-JobName <String>]
[-MinimumRetries <Int32>]
[-MinimumRunDurationInSeconds <Int32>]
[-OldestFirst]
[-OutcomesType <CompletionResult>]
[-SqlMessageID <Int32>]
[-SqlSeverity <Int32>]
[-Since <SinceType>]
[[-ServerInstance] <String[]>]
[-Credential <PSCredential>]
[-ConnectionTimeout <Int32>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Get-SqlAgentJobHistory
[-StartRunDate <DateTime>]
[-EndRunDate <DateTime>]
[-JobID <Guid>]
[-JobName <String>]
[-MinimumRetries <Int32>]
[-MinimumRunDurationInSeconds <Int32>]
[-OldestFirst]
[-OutcomesType <CompletionResult>]
[-SqlMessageID <Int32>]
[-SqlSeverity <Int32>]
[-Since <SinceType>]
[-InputObject] <JobServer[]>
[-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 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 |
-ConnectionTimeout
指定在超时失败之前等待服务器连接的秒数。 超时值必须是介于 0 和 65534 之间的整数值。 如果指定 0,则连接尝试将没有超时限制。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
指定一个 PSCredential 对象,该对象用于指定有权执行此操作的SQL Server登录名的凭据。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
连接到SQL Server时使用的加密类型。
此值映射到 Encrypt
Microsoft.Data.SqlClient 驱动程序的 SqlConnection 对象上的 属性 SqlConnectionEncryptOption
。
在模块的 v22 中,默认 Optional
为 (,以便与 v21) 兼容。 在模块的 v23+ 中,默认值为“Mandatory”,这可能会为现有脚本创建中断性变更。
此参数是模块 v22 中的新增参数。
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EndRunDate
指定作业筛选器约束,该约束将返回的值限制为作业完成日期。
Type: | DateTime |
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 |
-InputObject
指定SQL Server管理对象 (SMO) 对象的数组,这些对象表示目标SQL Server 代理。
Type: | JobServer[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-JobID
指定一个作业筛选器约束,该约束限制返回到由作业 ID 值指定的作业的值。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobName
指定一个作业筛选器约束,该约束将返回的值限制为由作业名称指定的作业。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MinimumRetries
指定作业筛选器约束,该约束将返回的值限制为已失败且重试次数最少的作业。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MinimumRunDurationInSeconds
指定作业筛选器约束,该约束将返回的值限制为在指定最短时间长度(以秒为单位)内完成的作业。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OldestFirst
指示此 cmdlet 按最旧优先顺序列出作业。 如果未指定此参数,则 cmdlet 使用最新优先顺序。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OutcomesType
指定一个作业筛选器约束,该约束将返回的值限制为完成时具有指定结果的作业。
此参数的可接受值为:
-- 失败 -- 成功 -- 重试 -- 已取消 -- 正在进行 -- 未知
Type: | CompletionResult |
Accepted values: | Failed, Succeeded, Retry, Cancelled, InProgress, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
指定 SQL Server 代理的路径,作为此 cmdlet 运行操作的数组。 如果未为此参数指定值,则 cmdlet 将使用当前工作位置。
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ServerInstance
将 SQL Server 实例的名称指定为运行 SQL 代理的数组。 对于默认实例,仅指定计算机名称:MyComputer。 对于命名实例,请使用 ComputerName\InstanceName 格式。
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Since
指定可以代替 StartRunDate 参数的缩写。
可以使用 EndRunDate 参数指定它。
如果使用此参数,则不能使用 StartRunDate 参数。
此参数的可接受值为:
- 午夜 (获取午夜后生成的所有作业历史记录信息)
- 昨天 (获取过去 24 小时内生成的所有作业历史记录信息)
- LastWeek (获取上周生成的所有作业历史记录信息)
- LastMonth (获取上个月生成的所有作业历史记录信息)
Type: | SinceType |
Accepted values: | Midnight, Yesterday, LastWeek, LastMonth |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SqlMessageID
指定作业筛选器约束,该约束将返回的值限制为在运行时生成指定消息的作业。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SqlSeverity
指定作业筛选器约束,该约束将返回的值限制为在运行时生成指定严重性的错误的作业。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartRunDate
指定作业筛选器约束,该约束将返回的值限制为作业开始的日期。
Type: | DateTime |
Position: | Named |
Default value: | None |
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 |
输入
System.String[]
Microsoft.SqlServer.Management.Smo.Agent.JobServer[]
输出
System.Object