sp_help_jobhistory (Transact-SQL)

Se aplica a:SQL Server

Proporciona información acerca de los trabajos en los servidores de un dominio de administración multiservidor.

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
sp_help_jobhistory [ [ @job_id = ] job_id ]   
     [ , [ @job_name = ] 'job_name' ]   
     [ , [ @step_id = ] step_id ]   
     [ , [ @sql_message_id = ] sql_message_id ]   
     [ , [ @sql_severity = ] sql_severity ]   
     [ , [ @start_run_date = ] start_run_date ]   
     [ , [ @end_run_date = ] end_run_date ]   
     [ , [ @start_run_time = ] start_run_time ]   
     [ , [ @end_run_time = ] end_run_time ]   
     [ , [ @minimum_run_duration = ] minimum_run_duration ]   
     [ , [ @run_status = ] run_status ]   
     [ , [ @minimum_retries = ] minimum_retries ]   
     [ , [ @oldest_first = ] oldest_first ]   
     [ , [ @server = ] 'server' ]   
     [ , [ @mode = ] 'mode' ]  

Argumentos

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

[ @job_name = ] 'job_name' Nombre del trabajo. job_name es sysname, con un valor predeterminado de NULL.

[ @step_id = ] step_id Número de identificación del paso. step_id es int, con un valor predeterminado de NULL.

[ @sql_message_id = ] sql_message_id Número de identificación del mensaje de error devuelto por Microsoft SQL Server al ejecutar el trabajo. sql_message_id es int, con un valor predeterminado de NULL.

[ @sql_severity = ] sql_severity El nivel de gravedad del mensaje de error devuelto por SQL Server al ejecutar el trabajo. sql_severity es int, con un valor predeterminado de NULL.

[ @start_run_date = ] start_run_date Fecha en que se inició el trabajo. start_run_date es int, con un valor predeterminado de NULL. start_run_date debe escribirse en el formato yyyyMMdd, donde AAAA es un año de cuatro caracteres, MM es un nombre de mes de dos caracteres y DD es un nombre de día de dos caracteres.

[ @end_run_date = ] end_run_date Fecha en que se completó el trabajo. end_run_date es int, con un valor predeterminado de NULL. end_run_date debe escribirse en el formato yyyyMMdd, donde AAAA es un año de cuatro dígitos, MM es un nombre de mes de dos caracteres y DD es un nombre de día de dos caracteres.

[ @start_run_time = ] start_run_time Hora en que se inició el trabajo. start_run_time es int, con un valor predeterminado de NULL. start_run_time debe escribirse en el formato HHmmss, donde HH es una hora de dos caracteres del día, MM es un minuto de dos caracteres del día y SS es un segundo de dos caracteres del día.

[ @end_run_time = ] end_run_time Hora en que el trabajo completó su ejecución. end_run_time es int, con un valor predeterminado de NULL. end_run_time debe escribirse en el formato HHmmss, donde HH es una hora de dos caracteres del día, MM es un minuto de dos caracteres del día y SS es un segundo de dos caracteres del día.

[ @minimum_run_duration = ] minimum_run_duration El período mínimo de tiempo para la finalización del trabajo. minimum_run_duration es int, con un valor predeterminado de NULL. minimum_run_duration debe escribirse en el formato HHmmss, donde HH es una hora de dos caracteres del día, MM es un minuto de dos caracteres del día y SS es un segundo de dos caracteres del día.

[ @run_status = ] run_status Estado de ejecución del trabajo. run_status es int, con un valor predeterminado de NULL y puede ser uno de estos valores.

Value Descripción
0 Con errores
1 Correcto
2 Reintento (solo pasos)
3 Canceled
4 Mensaje en curso
5 Unknown

[ @minimum_retries = ] minimum_retries El número mínimo de veces que un trabajo debe reintentar en ejecución. minimum_retries es int, con un valor predeterminado de NULL.

[ @oldest_first = ] oldest_first Es si se va a presentar primero la salida con los trabajos más antiguos. oldest_first es int, con un valor predeterminado de 0, que presenta primero los trabajos más recientes. 1 presenta primero los trabajos más antiguos.

[ @server = ] 'server' Nombre del servidor en el que se realizó el trabajo. server es nvarchar(30), con un valor predeterminado de NULL.

[ @mode = ] 'mode' Indica si SQL Server imprime todas las columnas del conjunto de resultados (FULL) o un resumen de las columnas. mode es varchar(7), con un valor predeterminado de SUMMARY.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

La lista de columnas real depende del valor del modo. A continuación se muestra el conjunto de columnas más completo y se devuelve cuando el modo es FULL.

Nombre de la columna Tipo de datos Descripción
instance_id int Número de identificación de la entrada en el historial.
job_id uniqueidentifier Número de identificación del trabajo.
job_name sysname Nombre del trabajo.
step_id int Número de identificación del paso (será 0 para un historial de trabajos).
step_name sysname Nombre de paso (será NULL para un historial de trabajos).
sql_message_id int Para un paso de Transact-SQL, se encontró el número de error de Transact-SQL más reciente al ejecutar el comando.
sql_severity int Para un paso de Transact-SQL, se encontró la gravedad de error de Transact-SQL más alta al ejecutar el comando.
message nvarchar(1024) Mensaje del historial de trabajos o pasos.
run_status int Resultado del trabajo o del paso.
run_date int Fecha en que empezó la ejecución del trabajo o del paso.
run_time int Hora en que empezó la ejecución del trabajo o del paso.
run_duration int Tiempo transcurrido en la ejecución del trabajo o paso en HHmmss formato.
operator_emailed nvarchar(20) Operador que recibió mensajes de correo electrónico relativos a este trabajo (es NULL para el historial de pasos).
operator_netsent nvarchar(20) Operador que recibió mensajes de red relativos a este trabajo (es NULL para el historial de pasos).
operator_paged nvarchar(20) Operador que recibió mensajes de localizador relativos a este trabajo (es NULL para el historial de pasos).
retries_attempted int Número de veces que se ha vuelto a intentar el paso (siempre es 0 para un historial de trabajos).
servidor nvarchar(30) Servidor en el que se ejecuta el paso o el trabajo. Siempre es (local).

Comentarios

sp_help_jobhistory devuelve un informe con el historial de los trabajos programados especificados. Si no se especifican parámetros, el informe contiene el historial de todos los trabajos programados.

Permisos

De forma predeterminada, los miembros del rol fijo de servidor sysadmin pueden ejecutar este procedimiento almacenado. Al resto de usuarios se les debe conceder uno de los siguientes roles fijos de base de datos del Agente SQL Server en la base de datos msdb :

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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

Los miembros del rol de base de datos SQLAgentUserRole solo pueden ver el historial de los trabajos que poseen.

Ejemplos

A Mostrar toda la información de un trabajo

En el siguiente ejemplo se muestra toda la información del trabajo NightlyBackups.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_jobhistory   
    @job_name = N'NightlyBackups' ;  
GO  

B. Mostrar información de trabajos que cumplen determinadas condiciones

En el siguiente ejemplo se imprimen todas las columnas y toda la información de los trabajos o pasos de trabajo que no progresaron y devolvieron el mensaje de error 50100 (mensaje de error definido por el usuario) y una gravedad de 20.

USE msdb  
GO  
  
EXEC dbo.sp_help_jobhistory  
    @sql_message_id = 50100,  
    @sql_severity = 20,  
    @run_status = 0,  
    @mode = N'FULL' ;  
GO  

Consulte también

sp_purge_jobhistory (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)