sp_delete_jobsteplog (Transact-SQL)

Удаляет все журналы шагов заданий для агента SQL Server, заданные аргументами. Эта хранимая процедура применяется для поддержки таблицы sysjobstepslogs в базе данных msdb.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

        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' ]

Аргументы

  • [ @job_id =] 'job_id'
    Идентификационный номер задания, содержащего журнал шагов заданий, который необходимо удалить. Аргумент job_id имеет тип int и значение по умолчанию NULL.

  • [ @job_name =] 'job_name'
    Имя задания. Аргумент job_name имеет тип sysname и значение по умолчанию NULL.

    ПримечаниеПримечание

    Обязательно должен быть задан один из этих двух аргументов, но аргументы job_id и job_name не должны быть заданы одновременно.

  • [ @step_id =] step_id
    Идентификационный номер шага задания, журнал которого планируется удалить. Если этот аргумент не задан, то удаляются все журналы шагов заданий (если при этом не заданы аргументы @older_than или @larger_than). Аргумент step_id имеет тип int и значение по умолчанию NULL.

  • [ @step_name =] 'step_name'
    Имя шага задания, журнал которого удаляется. Аргумент step_name имеет тип sysname и значение по умолчанию NULL.

    ПримечаниеПримечание

    Может быть задан только один из аргументов step_id и step_name.

  • [ @older_than =] 'date'
    Дата и время создания старейшего сохраняемого журнала шагов задания. Все журналы шагов задания, созданные ранее указанной даты, удаляются. Аргумент date имеет тип datetime и значение по умолчанию NULL. Аргументы @older_than и @larger_than могут быть заданы одновременно.

  • [ @larger_than =] 'size_in_bytes'
    Размер в байтах самого большого сохраняемого журнала шагов задания. Все журналы шагов заданий, размер которых превышает это значение, будут удалены. Аргументы @larger_than и @older_than могут быть заданы одновременно.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

Нет

Замечания

Хранимая процедура sp_delete_jobsteplog принадлежит базе данных msdb.

Если не заданы никакие аргументы, кроме @job_id или @job_name, то удаляются все журналы шагов для указанного задания.

Разрешения

По умолчанию эту хранимую процедуру могут выполнять только члены предопределенной роли сервера sysadmin. Другим пользователям должна быть предоставлена одна из следующих предопределенных ролей базы данных агента SQL Server в базе данных msdb.

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole.

Подробные сведения о разрешениях для этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.

Удалять журналы шагов задания, принадлежащие другим пользователям, могут только члены роли sysadmin.

Примеры

А. Удаление всех журналов шагов определенного задания

В следующем примере удаляются все журналы шагов задания Weekly Sales Data Backup.

USE msdb ;
GO

EXEC dbo.sp_delete_jobsteplog
    @job_name = N'Weekly Sales Data Backup';
GO

Б. Удаление журнала определенного шага задания

В следующем примере удаляется журнал для шага 2 задания Weekly Sales Data Backup.

USE msdb ;
GO

EXEC dbo.sp_delete_jobsteplog
    @job_name = N'Weekly Sales Data Backup',
    @step_id = 2;
GO

В. Удаление всех журналов шагов задания по дате создания и размеру

В следующем примере удаляются все журналы шагов задания Weekly Sales Data Backup, созданные до полудня 25 октября 2005 года, размер которых превышает 100 МБ.

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