sp_help_jobserver (Transact-SQL)

适用于SQL Server

为给定的作业返回有关服务器的信息。

Transact-SQL 语法约定

语法

sp_help_jobserver
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @show_last_run_details = ] show_last_run_details ]
[ ; ]

参数

[ @job_id = ] 'job_id'

要为其返回信息的作业的标识号。 @job_id是 uniqueidentifier,默认值为 NULL.

必须指定@job_id@job_name,但不能指定这两者。

[ @job_name = ] N'job_name'

要为其返回信息的作业的名称。 @job_name为 sysname,默认值为 NULL.

必须指定@job_id@job_name,但不能指定这两者。

[ @show_last_run_details = ] show_last_run_details

上次运行执行信息是否是结果集的一部分。 @show_last_run_details为 tinyint,默认值为 0.

  • 0 不包含上次运行信息。
  • 1 包括上次运行信息。

返回代码值

0(成功)或 1(失败)。

结果集

列名称 数据类型 说明
server_id int 目标服务器的标识号。
server_name nvarchar(30) 目标服务器的计算机名称。
enlist_date datetime 将目标服务器登记到主服务器的日期。
last_poll_date datetime 目标服务器上一次轮询主服务器的日期。

如果在sp_help_jobserver设置为@show_last_run_details1的情况下执行,则结果集具有这些额外的列。

列名称 数据类型 说明
last_run_date int 作业上一次在此目标服务器上开始执行的日期。
last_run_time int 作业上一次在此服务器上开始执行的时间。
last_run_duration int 作业上一次在此目标服务器上运行所持续的时间(以秒为单位)。
last_outcome_message nvarchar(1024) 说明作业上一次运行的结果。
last_run_outcome int 作业上一次在此服务器上运行的结果:

0 = 失败
1 = Succeeded
3 = 已取消
5 = 未知

权限

此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE 权限,但这些权限可能会在 SQL Server 升级期间被重写。

其他用户必须被授予数据库中以下SQL Server 代理固定数据库角色msdb之一:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

有关这些角色的权限的详细信息,请参阅 SQL Server 代理固定数据库角色

SQLAgentUserRole 的成员只能查看其拥有的作业的信息。

示例

以下示例返回有关 NightlyBackups 作业的信息,其中包括上一次运行的信息。

USE msdb;
GO

EXEC dbo.sp_help_jobserver
    @job_name = N'NightlyBackups',
    @show_last_run_details = 1;
GO