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.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

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