Share via


sp_help_jobactivity (Transact-SQL)

Se aplica a:SQL Server

Muestra información sobre el estado en tiempo de ejecución de los trabajos de Agente SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_help_jobactivity
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @session_id = ] session_id ]
[ ; ]

Argumentos

[ @job_id = ] 'job_id'

Número de identificación del trabajo. @job_id es uniqueidentifier, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @job_name = ] N'job_name'

Nombre del trabajo. @job_name es sysname, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @session_id = ] session_id

Identificador de sesión sobre el que se va a informar de la información. @session_id es int, con un valor predeterminado de NULL.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Devuelve el siguiente conjunto de resultados:

Nombre de la columna Tipo de datos Descripción
session_id int Número de identificación de la sesión del Agente.
job_id uniqueidentifier Identificador del trabajo.
job_name sysname Nombre del trabajo.
run_requested_date datetime Fecha para la que se solicitó la ejecución del trabajo.
run_requested_source sysname Origen de la solicitud de ejecución del trabajo. Uno de los valores siguientes:

1 = Ejecutar según una programación
2 = Ejecutar en respuesta a una alerta
3 = Ejecutar en el inicio
4 = Ejecutar por usuario
6 = Ejecución en la programación de inactividad de CPU
queued_date datetime Especifica cuándo se puso en cola la solicitud. NULL si el trabajo se ejecutó directamente.
start_execution_date datetime Fecha en la que el trabajo se asignó a un subproceso ejecutable.
last_executed_step_id int Identificado de paso del paso de trabajo ejecutado más recientemente.
last_exectued_step_date datetime Momento en que comenzó a ejecutarse el paso de trabajo ejecutado más recientemente.
stop_execution_date datetime Momento en el que el trabajo dejó de ejecutarse.
next_scheduled_run_date datetime Cuando el trabajo se programe a continuación para ejecutarse.
job_history_id int Identificador del historial de trabajos en la tabla del historial de trabajos.
message nvarchar(1024) Mensaje generado durante la última ejecución del trabajo.
run_status int Estado devuelto en la última ejecución del trabajo:

0 = Error
1 = Correcto
3 = Cancelado
5 = Estado desconocido
operator_id_emailed int Número de Id. del operador notificado a través de correo electrónico al término del trabajo.
operator_id_netsent int Número de identificador del operador notificado a través de net send al finalizar el trabajo.
operator_id_paged int Número de Id. del operador notificado a través de buscapersonas al término del trabajo.

Comentarios

Este procedimiento proporciona una instantánea del estado actual de los trabajos. Los resultados devueltos representan la información disponible en el momento de procesar la solicitud.

Agente SQL Server crea un identificador de sesión cada vez que se inicia el servicio del agente. El identificador de sesión se almacena en la tabla msdb.dbo.syssessions**.

Cuando no se proporciona ningún @session_id , se muestra información sobre la sesión más reciente.

Cuando no se proporciona ningún @job_name o @job_id , se muestra información de todos los trabajos.

Permisos

Este procedimiento almacenado es propiedad del rol db_owner . Puede conceder EXECUTE permisos para cualquier usuario, pero estos permisos se pueden invalidar durante una actualización de SQL Server.

A otros usuarios se les debe conceder uno de los siguientes Agente SQL Server roles fijos de base de datos en la msdb base de datos:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para detalles sobre los permisos de estos roles, consulte Roles fijos de base de datos del Agente SQL Server.

Solo los miembros de sysadmin pueden ver la actividad de los trabajos que pertenecen a otros usuarios.

Ejemplos

El ejemplo siguiente muestra la actividad para todos los trabajos que el usuario actual está autorizado a ver.

USE msdb;
GO

EXEC dbo.sp_help_jobactivity;
GO