sp_delete_jobsteplog (Transact-SQL)
Quita todos los registros de paso de trabajo del Agente SQL Server que se especifican con los argumentos. Use este procedimiento almacenado para mantener la tabla sysjobstepslogs en la base de datos msdb.
Sintaxis
sp_delete_jobsteplog { [ @job_id = ] 'job_id' | [ @job_name = ] 'job_name' }
[ , [ @step_id = ] step_id| [ @step_name = ] 'step_name' ]
[ , [ @older_than = ] 'date' ]
[ , [ @larger_than = ] 'size_in_bytes' ]
Argumentos
[ @job_id =] 'job_id'
Número de identificación del trabajo que contiene el registro de paso de trabajo que se va a quitar. job_id es de tipo int 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.
[ @step_id =] step_id
Número de identificación del paso en el trabajo cuyo registro de paso de trabajo se va a eliminar. Si no se incluye, se eliminarán todos los registros de paso de trabajo de este trabajo a no ser que se especifique @older_than o @larger_than. step_id es de tipo int y su valor predeterminado es NULL.[ @step_name =] 'step_name'
Nombre del paso del trabajo cuyo registro de paso de trabajo se va a eliminar. step_name es de tipo sysname y su valor predeterminado es NULL.Nota
Se puede especificar step_id o step_name, pero no ambos.
[ @older_than =] 'date'
Fecha y hora del registro de paso de trabajo más antiguo que desea conservar. Todos los registros de paso de trabajo con fecha anterior a esta fecha y hora se eliminarán. date es de tipo datetime y su valor predeterminado es NULL. Se pueden especificar ambos valores, @older_than y @larger_than.[ @larger_than =] 'size_in_bytes'
Tamaño en bytes del registro de paso de trabajo más grande que desea conservar. Todos los registros de paso de trabajo que son mayores que este tamaño se quitan. Se pueden especificar ambos valores, @larger_than y @older_than.
Valores del código de retorno
0 (correcto) o 1 (error)
Conjuntos de resultados
Ninguno
Comentarios
sp_delete_jobsteplog está en la base de datos msdb.
Si no se especifica ningún argumento excepto @job_id o @job_name, se eliminarán todos los registros de paso de trabajo correspondientes al trabajo especificado.
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 obtener más información acerca de los permisos de estos roles, vea Funciones fijas de base de datos del Agente SQL Server.
Sólo los miembros de sysadmin pueden eliminar un registro de paso de trabajo que sea propiedad de otro usuario.
Ejemplos
A. Quitar todos los registros de paso de trabajo de un trabajo
En este ejemplo se quitan todos los registros de paso de trabajo correspondientes al trabajo Weekly Sales Data Backup.
USE msdb ;
GO
EXEC dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup';
GO
B. Quitar el registro de paso de trabajo de un paso de trabajo determinado
En este ejemplo se quita el registro de paso de trabajo correspondiente al paso 2 del trabajo Weekly Sales Data Backup.
USE msdb ;
GO
EXEC dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@step_id = 2;
GO
C. Quitar todos los registros de paso de trabajo en función de la antigüedad y el tamaño
En este ejemplo se quitan todos los registros de paso de trabajo que son anteriores a las 12 del mediodía del 25 de octubre de 2005, cuyo volumen es superior a 100 megabytes (MB), del trabajo Weekly Sales Data Backup.
USE msdb ;
GO
EXEC dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@older_than = '10/25/2005 12:00:00',
@larger_than = 104857600;
GO
Vea también