sp_help_jobsteplog (Transact-SQL)

适用于SQL Server

返回有关特定SQL Server 代理作业步骤日志的元数据。 sp_help_jobsteplog 不返回实际日志。

Transact-SQL 语法约定

语法

sp_help_jobsteplog
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @step_id = ] step_id ]
    [ , [ @step_name = ] N'step_name' ]
[ ; ]

参数

[ @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,但不能指定这两者。

[ @step_id = ] step_id

作业中步骤的标识号。 如果尚未包括,则包括作业中的所有步骤。 @step_id为 int,默认值为 NULL.

[ @step_name = ] N'step_name'

作业中步骤的名称。 @step_name为 sysname,默认值为 NULL.

返回代码值

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

结果集

列名称 数据类型 描述
job_id uniqueidentifier 作业的唯一标识符。
job_name sysname 作业的名称。
step_id int 作业中步骤的标识符。 例如,如果步骤是作业中的第一步,则为 step_id 1
step_name sysname 作业中步骤的名称。
step_uid uniqueidentifier 作业中步骤的唯一标识符(由系统生成)。
date_created datetime 创建步骤的日期。
date_modified datetime 上次修改步骤的日期。
log_size float 作业步骤日志的大小(MB)。
log nvarchar(max) 作业步骤日志输出。

注解

sp_help_jobsteplog 位于 msdb 数据库中。

权限

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

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

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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

SQLAgentUserRole 的成员只能查看其拥有的作业步骤的作业步骤日志元数据。

示例

A. 返回特定作业中所有步骤的作业步骤日志信息

以下示例返回命名 Weekly Sales Data Backup作业的所有作业步骤日志信息。

USE msdb;
GO

EXEC dbo.sp_help_jobsteplog
    @job_name = N'Weekly Sales Data Backup';
GO

B. 返回有关特定作业步骤的作业步骤日志信息

以下示例返回有关名为 Weekly Sales Data Backup作业的第一个作业步骤的作业步骤日志信息。

USE msdb;
GO

EXEC dbo.sp_help_jobsteplog
    @job_name = N'Weekly Sales Data Backup',
    @step_id = 1;
GO