sp_delete_jobsteplog (Transact-SQL)
Se aplica a: SQL Server Azure SQL Managed Instance
Quita todos los registros de pasos de trabajo Agente SQL Server que se especifican con los argumentos . Use este procedimiento almacenado para mantener la tabla sysjobstepslogs en la msdb
base de datos.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_delete_jobsteplog
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @step_name = ] N'step_name' ]
[ , [ @older_than = ] older_than ]
[ , [ @larger_than = ] larger_than ]
[ ; ]
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 uniqueidentifier, con un valor predeterminado de NULL
.
Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.
[ @job_name = ] N'job_name'
Nombre del trabajo. @job_name es sysname, con un valor predeterminado de NULL
.
Se deben especificar @job_id o @job_name , pero no se pueden especificar 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. @step_id es int, con un valor predeterminado de NULL
. Si no se incluye, todos los registros de pasos de trabajo del trabajo se eliminan a menos que se especifiquen @older_than o @larger_than .
Se pueden especificar @step_id o @step_name , pero no se pueden especificar ambos.
[ @step_name = ] N'step_name'
Nombre del paso del trabajo cuyo registro de paso de trabajo se va a eliminar. @step_name es sysname, con un valor predeterminado de NULL
.
Se pueden especificar @step_id o @step_name , pero no se pueden especificar ambos.
[ @older_than = ] older_than
Fecha y hora del registro de paso de trabajo más antiguo que desea conservar. @older_than es datetime, con un valor predeterminado de NULL
. Todos los registros de paso de trabajo con fecha anterior a esta fecha y hora se quitarán.
Se pueden especificar @older_than y @larger_than .
[ @larger_than = ] larger_than
Tamaño en bytes del registro de paso de trabajo más grande que desea conservar. @larger_than es int, con un valor predeterminado de NULL
. Todos los registros de paso de trabajo con un tamaño superior a este se quitan.
Se pueden especificar @older_than y @larger_than .
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
Ninguno.
Comentarios
sp_delete_jobsteplog
está en la base de msdb
datos.
Si no se especifica ningún argumento excepto @job_id o @job_name , se eliminan todos los registros de pasos de trabajo del trabajo especificado.
Permisos
Puede conceder EXECUTE
permisos en este procedimiento, 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.
Solo los miembros de sysadmin pueden eliminar un registro de pasos de trabajo que sea propiedad de otro usuario.
Ejemplos
A Eliminación de todos los registros de pasos 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. Eliminación del registro de pasos 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. Eliminación de todos los registros de pasos de trabajo en función de la 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