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>]
[-ProgressAction <ActionPreference>]
[<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>]
[-ProgressAction <ActionPreference>]
[<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>]
[-ProgressAction <ActionPreference>]
[<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 身份验证的替代方法。
例如,这可用于使用 Service Principal
或 Managed Identity
连接到 SQL Azure DB
和 SQL Azure Managed Instance
。
要使用的参数可以是表示令牌的字符串,也可以是运行 Get-AzAccessToken -ResourceUrl https://database.windows.net
返回的 PSAccessToken
对象。
此参数是模块 v22 中的新增参数。
类型: | PSObject |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ConnectionTimeout
指定在超时失败之前等待服务器连接的秒数。 超时值必须是介于 0 和 65534 之间的整数值。 如果指定了 0,则连接尝试不会超时。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定一个 PSCredential 对象,该对象用于指定有权执行此操作的 SQL Server 登录名的凭据。
类型: | PSCredential |
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 |
-EndRunDate
指定一个作业筛选器约束,该约束将返回的值限制为作业完成日期。
类型: | 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 |
-InputObject
指定表示所针对 SQL Server 代理的 SQL Server 管理对象(SMO)对象的数组。
类型: | JobServer[] |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-JobID
指定一个作业筛选器约束,该约束将返回的值限制为作业 ID 值指定的作业。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-JobName
指定一个作业筛选器约束,该约束将返回的值限制为作业名称指定的作业。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MinimumRetries
指定作业筛选器约束,该约束将返回的值限制为已失败并重试的作业的最小次数。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MinimumRunDurationInSeconds
指定作业筛选器约束,该约束将返回的值限制为指定的最短时间长度(以秒为单位)完成的作业。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-OldestFirst
指示此 cmdlet 按最早优先顺序列出作业。 如果未指定此参数,则 cmdlet 使用最新的优先顺序。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-OutcomesType
指定作业筛选器约束,该约束将返回的值限制为在完成时具有指定结果的作业。
此参数的可接受值为:
-- 失败 -- 成功 -- 重试 -- 已取消 -- InProgress -- 未知
类型: | CompletionResult |
接受的值: | Failed, Succeeded, Retry, Cancelled, InProgress, Unknown |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Path
将 SQL Server 代理的路径指定为运行操作的数组。 如果未为此参数指定值,cmdlet 将使用当前工作位置。
类型: | 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
将 SQL Server 实例的名称指定为运行 SQL 代理的数组。 对于默认实例,仅指定计算机名称:MyComputer。 对于命名实例,请使用 ComputerName\InstanceName 格式。
类型: | String[] |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Since
指定一个缩写,可以代替 StartRunDate 参数。
可以使用 EndRunDate 参数指定它。
如果使用此参数,则无法使用 StartRunDate 参数。
此参数的可接受值为:
- 午夜(获取午夜后生成的所有作业历史记录信息)
- 昨天(获取过去 24 小时内生成的所有作业历史记录信息)
- LastWeek (获取上周生成的所有作业历史记录信息)
- LastMonth (获取上个月生成的所有作业历史记录信息)
类型: | SinceType |
接受的值: | Midnight, Yesterday, LastWeek, LastMonth |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SqlMessageID
指定作业筛选器约束,该约束将返回的值限制为在运行时生成指定消息的作业。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SqlSeverity
指定作业筛选器约束,该约束将返回的值限制为在运行时生成指定严重性错误的作业。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-StartRunDate
指定一个作业筛选器约束,该约束将返回的值限制为作业启动日期。
类型: | DateTime |
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.Agent.JobServer[]
输出
System.Object