sp_help_job (Transact-SQL)
Devuelve información acerca de los trabajos que el Agente SQL Server utiliza para realizar actividades automatizadas en SQL Server.
Sintaxis
sp_help_job { [ @job_id = ] job_id
[ @job_name = ] 'job_name' }
[ , [ @job_aspect = ] 'job_aspect' ]
[ , [ @job_type = ] 'job_type' ]
[ , [ @owner_login_name = ] 'login_name' ]
[ , [ @subsystem = ] 'subsystem' ]
[ , [ @category_name = ] 'category' ]
[ , [ @enabled = ] enabled ]
[ , [ @execution_status = ] status ]
[ , [ @date_comparator = ] 'date_comparison' ]
[ , [ @date_created = ] date_created ]
[ , [ @date_last_modified = ] date_modified ]
[ , [ @description = ] 'description_pattern' ]
Argumentos
[ @job_id =] job_id
Número de identificación del trabajo. job_id es de tipo uniqueidentifier y su valor predeterminado es NULL.[ @job_name = ] 'job_name'
Nombre del trabajo. job_name es de tipo sysname y su valor predeterminado es NULL.Nota
Se debe especificar job_id o job_name, pero no ambos.
[ @job_aspect =] 'job_aspect'
Atributo del trabajo que se va a mostrar. job_aspect es de tipo varchar(9), su valor predeterminado es NULL y puede tener uno de los siguientes 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 incluirán en el informe. job_type es de tipo varchar(12) y su valor predeterminado es NULL. job_type puede ser LOCAL o MULTI-SERVER.[ @owner_login_name =] 'login_name'
Nombre del inicio de sesión del propietario del trabajo. login_name es de tipo sysname y su valor predeterminado es NULL.[ @subsystem =] 'subsystem'
Nombre del subsistema. subsystem es de tipo nvarchar(40) y su valor predeterminado es NULL.[ @category_name =] 'category'
Nombre de la categoría. category es de tipo sysname y su valor predeterminado es NULL.[ @enabled =] enabled
Número que indica si se muestra información de los trabajos habilitados o los trabajos deshabilitados. enabled es de tipo tinyint y su valor predeterminado es NULL. 1 indica trabajos habilitados y 0 indica trabajos deshabilitados.[ @execution_status =] status
Estado de ejecución de los trabajos. status es de tipo int, su valor predeterminado es NULL y puede tener uno de los siguientes valores.Valor
Descripción
0
Devuelve sólo 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_comparison'
Operador de comparación que se utiliza en las comparaciones de date_created y date_modified. date_comparison es de tipo char(1) y puede ser =, < o >.[ @date_created =] date_created
Fecha en la que se creó el trabajo. date_createdes de tipo datetime y su valor predeterminado es NULL.[ @date_last_modified =] date_modified
Fecha en la que se modificó el trabajo por última vez. date_modified es de tipo datetime y su valor predeterminado es NULL.[ @description =] 'description_pattern'
Descripción del trabajo. description_pattern es de tipo nvarchar(512) y su valor predeterminado es NULL. description_pattern puede incluir caracteres comodín de SQL Server para la coincidencia de patrón.
Valores de código de retorno
0 (correcto) o 1 (error)
Conjuntos de resultados
Si no se especifica ningún argumento, sp_help_job devuelve este conjunto de resultados.
Nombre de 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 su ejecución. |
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 en qué circunstancias se debe registrar un evento de notificación en el registro de aplicación de Microsoft Windows. Puede ser uno de los valores siguientes: 0 = Nunca 1 = Cuando el trabajo se realiza correctamente 2 = Cuando se produce un error en el trabajo 3 = Cuando el trabajo se completa (independientemente del resultado del trabajo) |
notify_level_email |
int |
Máscara de bits que indica en qué circunstancias se debe enviar una notificación por correo electrónico 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 en qué circunstancias 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 en qué circunstancias se debe enviar un mensaje por localizador 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 en qué circunstancias se debe eliminar un trabajo cuando se completa. 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 de la última ejecución del trabajo: 0 = No realizado 1 = Realizado 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. |
current_execution_step |
sysname |
Paso actual de ejecución del trabajo. |
current_retry_attempt |
int |
Si el trabajo se está ejecutando y el paso se ha intentado más de una vez, es el número actual de reintentos. |
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 del trabajo. |
type |
int |
Tipo de 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 del trabajo, las programaciones del trabajo y los servidores de destino del trabajo.
Éste es el conjunto de resultados de los pasos del trabajo.
Nombre de 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 de valores que controlan el comportamiento del paso. |
cmdexec_success_code |
int |
En un paso CmdExec, código de salida de proceso de un comando ejecutado correctamente. |
on_success_action |
nvarchar(4000) |
Qué hacer si el paso termina correctamente: 1 = Salir con éxito. 2 = Salir con error. 3 = Ir al paso siguiente. 4 = Ir al paso |
on_success_step_id |
int |
Si on_success_action es de tipo 4, indica el siguiente paso que hay que 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 de tipo 4, indica el siguiente paso que hay que ejecutar. |
server |
sysname |
Reservado. |
database_name |
sysname |
Para pasos Transact-SQL, la base de datos en que se ejecutará el comando. |
database_user_name |
sysname |
Para pasos Transact-SQL, el contexto de usuario de la base de datos en que se ejecuta el comando. |
retry_attempts |
int |
Número máximo de veces que se vuelve a intentar el comando (si no termina correctamente) antes de determinar que el paso ha dado error. |
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 (sólo para pasos Transact-SQL y CmdExec). |
last_run_outcome |
int |
Resultado del paso la última vez que se ejecutó: 0 = No realizado 1 = Realizado 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 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 sólo para este trabajo). |
enabled |
int |
Indica si la programación está activa (1) o no lo está (0). |
freq_type |
int |
Valor que indica cuándo se va a ejecutar el trabajo: 1 = Una vez 4 = Diariamente 8 = Semanalmente 16 = Mensualmente 32 = Mensualmente, relativo a freq_interval 64 = Se ejecuta cuando se inicia el servicio SQLServerAgent |
freq_interval |
int |
Días en que se ejecuta el trabajo. El valor depende del valor de freq_type. Para obtener más información, vea sp_add_schedule (Transact-SQL). |
freq_subday_type |
Int |
Unidades para freq_subday_interval. Para obtener más información, vea sp_add_schedule (Transact-SQL). |
freq_subday_interval |
int |
Número de períodos de freq_subday_type que deben transcurrir entre cada ejecución del trabajo. Para obtener más información, vea sp_add_schedule (Transact-SQL). |
freq_relative_interval |
int |
Repeticiones del freq_interval del trabajo programado cada mes. Para obtener más información, vea sp_add_schedule (Transact-SQL). |
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 en que comienza la ejecución del trabajo en active_start_date. |
active_end_time |
int |
Hora en que termina 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 requiere). |
next_run_date |
int |
Fecha en que la programación hará que se vuelva a ejecutar el trabajo. |
next_run_time |
int |
Hora a la que la programación hará que se vuelva a ejecutar 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 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 = No realizado 1 = Realizado 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
De forma predeterminada, los miembros de la función fija de servidor sysadmin pueden ejecutar este procedimiento almacenado. A otros usuarios debe concederse una de las siguientes funciones fijas de base de datos del Agente SQL Server en la base de datos msdb:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Para obtener más información acerca de los permisos de estas funciones, vea Funciones fijas de base de datos del Agente SQL Server.
Los miembros de SQLAgentUserRole sólo pueden ver trabajos de los que sean propietarios. 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. Mostrar 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. Mostrar 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