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 = ] N'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 = ] N'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 = ] N'job_name'
Nombre del trabajo. @job_name es sysname, con un valor predeterminado de NULL
.
[ @step_id = ] step_id
El 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 SQL Server al ejecutar el trabajo. @sql_message_id es int, con un valor predeterminado de NULL
.
[ @sql_severity = ] sql_severity
Nivel de gravedad del mensaje de error devuelto por SQL Server cuando se ejecuta 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 yyyy
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 yyyy
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.
[ @start_run_time = ] start_run_time
Hora a la que comenzó 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 a la que se completó la ejecución del trabajo. @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
Duración mínima de la realizació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 y puede ser uno de estos valores.
Valor | Descripción |
---|---|
0 |
Con error |
1 |
Correcto |
2 |
Reintento (solo pasos) |
3 |
Canceled |
4 |
Mensaje en curso |
5 |
Unknown |
[ @minimum_retries = ] minimum_retries
Número mínimo de veces que se debe volver a intentar la ejecución de un trabajo. @minimum_retries es int, con un valor predeterminado de NULL
.
[ @oldest_first = ] oldest_first
Indica si se va a presentar primero la salida con los trabajos más antiguos. @oldest_first es int, con un valor predeterminado de 0
.
0
presenta primero los trabajos más recientes.1
presenta primero los trabajos más antiguos.
[ @server = ] N'server'
Nombre del servidor en el que se realizó el trabajo. @server es sysname, con un valor predeterminado de NULL
.
[ @mode = ] 'mode'
Especifica si SQL Server imprime todas las columnas del conjunto de resultados (FULL
) o un resumen (SUMMARY
) de las columnas. @mode es varchar(7), con un valor predeterminado de SUMMARY
.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
La lista de columnas real depende del valor de @mode. El conjunto de columnas más completo se muestra en la tabla siguiente y se devuelve cuando @mode 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 (0 para un historial de trabajos). |
step_name |
sysname | Nombre del paso (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 se ha enviado por correo electrónico con respecto a este trabajo (es NULL para el historial de pasos). |
operator_netsent |
nvarchar(20) | Operador que se envió un mensaje de red con respecto a este trabajo (es NULL para el historial de pasos). |
operator_paged |
nvarchar(20) | Operador que se ha paginado con respecto 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). |
server |
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
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 del rol de base de datos SQLAgentUserRole solo pueden ver el historial de los trabajos que poseen.
Ejemplos
A Enumerar toda la información del trabajo 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. Enumeración de la información de los trabajos que coinciden con 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