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 = Nunca1 = Cuando un trabajo se realiza correctamente2 = Cuando se produce un error en el trabajo3 = 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 = Error1 = Correcto3 = Cancelado5 = 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ón2 = Esperando subproceso3 = Entre reintentos4 = Inactivo5 = Suspendido6 = Obsoleto7 = 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 = Error1 = Correcto3 = Cancelado5 = 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 vez4 = Diario8 = Semanal16 = Mensual32 = 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 = Error1 = Correcto3 = Cancelado5 = 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