Compartir vía


sp_help_job (Transact-SQL)

Se aplica a: SQL Server

Devuelve información sobre los trabajos usados por Agente SQL Server para realizar actividades automatizadas en SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_help_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @job_aspect = ] 'job_aspect' ]
    [ , [ @job_type = ] 'job_type' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @subsystem = ] N'subsystem' ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @execution_status = ] execution_status ]
    [ , [ @date_comparator = ] 'date_comparator' ]
    [ , [ @date_created = ] date_created ]
    [ , [ @date_last_modified = ] date_last_modified ]
    [ , [ @description = ] N'description' ]
[ ; ]

Argumentos

[ @job_id = ] 'job_id'

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

Para ver un trabajo específico, debe especificarse @job_id o @job_name . Omita tanto @job_id como @job_name para devolver información sobre todos los trabajos.

[ @job_name = ] N'job_name'

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

Para ver un trabajo específico, debe especificarse @job_id o @job_name . Omita tanto @job_id como @job_name para devolver información sobre todos los trabajos.

[ @job_aspect = ] 'job_aspect'

Atributo de trabajo que se va a mostrar. @job_aspect es varchar(9) y puede ser uno de estos valores.

Valor Descripción
ALL Información del aspecto del trabajo
JOB Información del trabajo
SCHEDULES Información de la programación
STEPS Información de los pasos del trabajo
TARGETS Información de los destinos

[ @job_type = ] 'job_type'

Tipo de trabajos que se van a incluir en el informe.@job_type es varchar(12), con un valor predeterminado de NULL. @job_type puede ser LOCAL o MULTI-SERVER.

[ @owner_login_name = ] N'owner_login_name'

Nombre de inicio de sesión del propietario del trabajo. @owner_login_name es sysname, con un valor predeterminado de NULL.

[ @subsystem = ] N'subsystem'

Nombre del subsistema. @subsystem es nvarchar(40), con un valor predeterminado de NULL.

[ @category_name = ] N'category_name'

Nombre de la categoría. @category_name es sysname, con un valor predeterminado de NULL.

[ @enabled = ] enabled

Número que indica si se muestra información de los trabajos habilitados o los trabajos deshabilitados. @enabled es tinyint, con un valor predeterminado de NULL.

  • 1 indica los trabajos habilitados.
  • 0 indica trabajos deshabilitados.

[ @execution_status = ] execution_status

Estado de ejecución de los trabajos. @execution_status es int y puede ser uno de estos valores.

Valor Descripción
0 Devuelve solo los trabajos que no están inactivos o suspendidos.
1 En ejecución.
2 En espera de subproceso.
3 Entre reintentos.
4 Inactivo.
5 Suspendido.
7 Realizando acciones de finalización.

[ @date_comparator = ] 'date_comparator'

Operador de comparación que se va a usar en comparaciones de @date_created y @date_last_modified. @date_comparator es char(1) y puede ser =, <o >.

[ @date_created = ] date_created

Fecha de creación del trabajo. @date_created es datetime, con un valor predeterminado de NULL.

[ @date_last_modified = ] date_last_modified

Fecha en que se modificó por última vez el trabajo. @date_last_modified es datetime, con un valor predeterminado de NULL.

[ @description = ] N'description'

Descripción del trabajo. @description es nvarchar(512), con un valor predeterminado de NULL. @description puede incluir los caracteres comodín para la coincidencia de patrones.

Valores de código de retorno

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

Conjunto de resultados

Si no se especifica ningún argumento, sp_help_job devuelve este conjunto de resultados.

Nombre de la columna Tipo de datos Descripción
job_id uniqueidentifier Id. único del trabajo.
originating_server nvarchar(30) Nombre del servidor del que proviene el trabajo.
name sysname Nombre del trabajo.
enabled tinyint Indica si el trabajo está habilitado para que se pueda ejecutar.
description nvarchar(512) Descripción del trabajo.
start_step_id int Id. del paso del trabajo en el que debe comenzar la ejecución.
category sysname Categoría del trabajo
owner sysname Propietario del trabajo.
notify_level_eventlog int Máscara de bits que indica las circunstancias en las que se debe registrar un evento de notificación en el registro de aplicaciones de Microsoft Windows. Puede ser uno de estos valores:

0 = Nunca
1 = Cuando un trabajo se realiza correctamente
2 = Cuando se produce un error en el trabajo
3 = Cada vez que se complete el trabajo (independientemente del resultado del trabajo)
notify_level_email int Máscara de bits que indica las circunstancias en las que se debe enviar un correo electrónico de notificación cuando se completa un trabajo. Los valores posibles son los mismos que para notify_level_eventlog.
notify_level_netsend int Máscara de bits que indica las circunstancias en las que se debe enviar un mensaje de red cuando se completa un trabajo. Los valores posibles son los mismos que para notify_level_eventlog.
notify_level_page int Máscara de bits que indica las circunstancias en las que se debe enviar una página cuando se completa un trabajo. Los valores posibles son los mismos que para notify_level_eventlog.
notify_email_operator sysname Nombre de correo electrónico del operador que recibe la notificación.
notify_netsend_operator sysname Nombre del equipo o del usuario que se utiliza al enviar mensajes de red.
notify_page_operator sysname Nombre del equipo o del usuario que se utiliza al enviar un mensaje a un localizador.
delete_level int Máscara de bits que indica las circunstancias en las que se debe eliminar el trabajo cuando se completa un trabajo. Los valores posibles son los mismos que para notify_level_eventlog.
date_created datetime Fecha de creación del trabajo.
date_modified datetime Fecha en que se modificó el trabajo por última vez.
version_number int Versión del trabajo (se actualiza automáticamente cada vez que el trabajo se modifica).
last_run_date int Fecha de inicio de la última ejecución del trabajo.
last_run_time int Hora de inicio de la última ejecución del trabajo.
last_run_outcome int Resultado del trabajo la última vez que ejecutó:

0 = Error
1 = Correcto
3 = Cancelado
5 = Desconocido
next_run_date int Fecha de la próxima ejecución programada del trabajo.
next_run_time int Hora de la próxima ejecución programada del trabajo.
next_run_schedule_id int Número de identificación de la próxima ejecución programada.
current_execution_status int Estado de ejecución actual:

1 = Ejecución
2 = Esperando subproceso
3 = Entre reintentos
4 = Inactivo
5 = Suspendido
6 = Obsoleto
7 = PerformingCompletionActions
current_execution_step sysname Paso actual de ejecución del trabajo.
current_retry_attempt int Si el trabajo se está ejecutando y se reintentó el paso, este es el intento de reintento actual.
has_step int Número de pasos que tiene el trabajo.
has_schedule int Número de programaciones que tiene el trabajo.
has_target int Número de servidores de destino que tiene el trabajo.
type int Tipo del trabajo.

1 = Trabajo local.
2 = Trabajo multiservidor.
0 = El trabajo no tiene servidores de destino.

Si se especifica @job_id o @job_name , sp_help_job devuelve estos conjuntos de resultados adicionales para los pasos de trabajo, las programaciones de trabajo y los servidores de destino del trabajo.

Éste es el conjunto de resultados de los pasos del trabajo.

Nombre de la columna Tipo de datos Descripción
step_id int Identificador único del paso (en este trabajo).
step_name sysname Nombre del paso.
subsystem nvarchar(40) Subsistema en el que se ejecuta el comando del paso.
command nvarchar(3200) Comando que se ejecuta.
flags nvarchar(4000) Máscara de bits que controla el comportamiento del paso.
cmdexec_success_code int Para un paso cmdExec , este es el código de salida del proceso de un comando correcto.
on_success_action nvarchar(4000) Qué hacer si el paso termina correctamente:

1 = Salir con éxito.
2 = Salir con error.
3 = Vaya al paso siguiente.
4 = Ir al paso.
on_success_step_id int Si on_success_action es 4, indica el paso siguiente que se va a ejecutar.
on_fail_action nvarchar(4000) Acción que se realiza si el paso da error. Los valores son los mismos que para on_success_action.
on_fail_step_id int Si on_fail_action es 4, indica el paso siguiente que se va a ejecutar.
server sysname Reservado.
database_name sysname Para un paso de Transact-SQL, esta es la base de datos en la que se ejecuta el comando.
database_user_name sysname Para un paso de Transact-SQL, este es el contexto de usuario de la base de datos en el que se ejecuta el comando.
retry_attempts int Número máximo de veces que se debe reintentar el comando (si no se realiza correctamente) antes de que se considere que se ha producido un error en el paso.
retry_interval int Intervalo (en minutos) entre los reintentos.
os_run_priority varchar(4000) Reservado.
output_file_name varchar(200) Archivo en el que se debe escribir la salida del comando (solo pasos de Transact-SQL y CmdExec ).
last_run_outcome int Resultado del paso la última vez que se ejecutó:

0 = Error
1 = Correcto
3 = Cancelado
5 = Desconocido
last_run_duration int Duración (en segundos) del paso la última vez que se ejecutó.
last_run_retries int Número de veces que se ha intentado el comando desde que se ejecutó el paso por última vez.
last_run_date int Fecha en que se inició la ejecución del paso por última vez.
last_run_time int Hora en que se inició la ejecución del paso por última vez.
proxy_id int Proxy del paso de trabajo.

Éste es el conjunto de resultados de las programaciones del trabajo.

Nombre de la columna Tipo de datos Descripción
schedule_id int Identificador de la programación (único para todos los trabajos).
schedule_name sysname Nombre de la programación (único solo para este trabajo).
enabled int Indica si la programación está activa (1) o no (0).
freq_type int Valor que indica cuándo se va a ejecutar el trabajo:

1 = Una vez
4 = Diario
8 = Semanal
16 = Mensual
32 = Mensual, en relación con freq_interval
64= Ejecutar cuando se inicia Agente SQL Server servicio.
freq_interval int Días en los que se ejecuta el trabajo. El valor depende del valor de freq_type. Para obtener más información, consulte sp_add_schedule
freq_subday_type int Unidades para freq_subday_interval. Para obtener más información, consulte sp_add_schedule
freq_subday_interval int Número de freq_subday_type períodos que se van a producir entre cada ejecución del trabajo. Para obtener más información, consulte sp_add_schedule
freq_relative_interval int La aparición del trabajo programado de freq_interval en cada mes. Para obtener más información, consulte sp_add_schedule
freq_recurrence_factor int Número de meses entre las ejecuciones programadas del trabajo.
active_start_date int Fecha en que empieza la ejecución del trabajo.
active_end_date int Fecha en que termina la ejecución del trabajo.
active_start_time int Hora de iniciar la ejecución del trabajo en active_start_date.
active_end_time int Hora de finalización de la ejecución del trabajo en active_end_date.
date_created datetime Fecha en que se creó la programación.
schedule_description nvarchar(4000) Descripción de la programación en inglés (si se solicita).
next_run_date int Fecha de la programación siguiente hace que se ejecute el trabajo.
next_run_time int La hora de la programación siguiente hace que se ejecute el trabajo.
schedule_uid uniqueidentifier Identificador de la programación.
job_count int Devuelve el número de trabajos que hacen referencia a esta programación.

Éste es el conjunto de resultados de los servidores de destino del trabajo.

Nombre de la columna Tipo de datos Descripción
server_id int Identificador del servidor de destino.
server_name nvarchar(30) Nombre de equipo del servidor de destino.
enlist_date datetime Fecha de alta del servidor de destino en el servidor maestro.
last_poll_date datetime Fecha en que el servidor de destino sondeó por última vez el servidor maestro.
last_run_date int Fecha del inicio de la última ejecución del trabajo en este servidor de destino.
last_run_time int Hora del inicio de la última ejecución del trabajo en este servidor de destino.
last_run_duration int Duración de la última ejecución del trabajo en este servidor de destino.
last_run_outcome tinyint Resultado del trabajo la última vez que se ejecutó en este servidor:

0 = Error
1 = Correcto
3 = Cancelado
5 = Desconocido
last_outcome_message nvarchar(1024) Mensaje de resultado de la última ejecución del trabajo en este servidor de destino.

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.

Los miembros de SQLAgentUserRole solo pueden ver los trabajos que poseen. Los miembros de sysadmin, SQLAgentReaderRole y SQLAgentOperatorRole pueden ver todos los trabajos locales y multiservidor.

Ejemplos

A Mostrar información de todos los trabajos

Este ejemplo ejecuta el procedimiento sp_help_job sin parámetros para obtener la información de todos los trabajos actualmente definidos en la base de datos msdb.

USE msdb;
GO

EXEC dbo.sp_help_job;
GO

B. Enumeración de la información de los trabajos que coinciden con un criterio específico

En el siguiente ejemplo se muestra información sobre el trabajo para los trabajos multiservidor que pertenecen a françoisa, donde el trabajo se habilita y ejecuta.

USE msdb;
GO

EXEC dbo.sp_help_job
   @job_type = N'MULTI-SERVER',
   @owner_login_name = N'françoisa',
   @enabled = 1,
   @execution_status = 1;
GO

C. Enumerar todos los aspectos de la información de un trabajo

En el siguiente ejemplo se muestran todos los aspectos de la información para el trabajo NightlyBackups.

USE msdb;
GO

EXEC dbo.sp_help_job
    @job_name = N'NightlyBackups',
    @job_aspect = N'ALL';
GO