다음을 통해 공유


sp_delete_jobsteplog(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

인수로 지정된 모든 SQL Server 에이전트 작업 단계 로그를 제거합니다. 데이터베이스에서 sysjobstepslogs 테이블을 유지 관리하려면 이 저장 프로시저를 msdb 사용합니다.

Transact-SQL 구문 표기 규칙

구문

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 ]
[ ; ]

인수

[ @job_id = ] 'job_id'

제거할 작업 단계 로그가 포함된 작업의 작업 ID 번호입니다. @job_id 기본값NULLuniqueidentifier입니다.

@job_id 또는 @job_name 지정해야 하지만 둘 다 지정할 수는 없습니다.

[ @job_name = ] N'job_name'

작업의 이름입니다. @job_name sysname이며 기본값은 .입니다NULL.

@job_id 또는 @job_name 지정해야 하지만 둘 다 지정할 수는 없습니다.

[ @step_id = ] step_id

작업 단계 로그를 삭제할 작업의 단계 ID입니다. @step_id 기본값NULL인 int입니다. 포함되지 않은 경우 @older_than 또는 @larger_than 지정하지 않으면 작업의 모든 작업 단계 로그가 삭제됩니다.

@step_id 또는 @step_name 지정할 수 있지만 둘 다 지정할 수는 없습니다.

[ @step_name = ] N'step_name'

작업 단계 로그를 삭제할 작업의 단계 이름입니다. @step_name 기본값NULL인 sysname입니다.

@step_id 또는 @step_name 지정할 수 있지만 둘 다 지정할 수는 없습니다.

[ @older_than = ] older_than

유지하려는 가장 오래된 작업 단계 로그의 날짜 및 시간입니다. @older_than 기본값NULLdatetime입니다. 이 날짜 및 시간보다 오래된 모든 작업 단계 로그가 제거됩니다.

@older_than@larger_than 모두 지정할 수 있습니다.

[ @larger_than = ] larger_than

유지하려는 가장 큰 작업 단계 로그의 크기(바이트)입니다. @larger_than 기본값NULL인 int입니다. 이 크기보다 큰 모든 작업 단계 로그는 제거됩니다.

@older_than@larger_than 모두 지정할 수 있습니다.

반환 코드 값

0(성공) 또는 1(실패).

결과 집합

없음.

설명

sp_delete_jobsteplog 가 데이터베이스에 있습니다 msdb .

@job_id 또는 @job_name 제외한 인수를 지정하지 않으면 지정된 작업에 대한 모든 작업 단계 로그가 삭제됩니다.

사용 권한

이 절차에 대한 사용 권한을 부여 EXECUTE 할 수 있지만 SQL Server 업그레이드 중에 이러한 권한이 재정의될 수 있습니다.

다른 사용자에게는 데이터베이스에서 다음 SQL Server 에이전트 고정 데이터베이스 역할 msdb 중 하나가 부여되어야 합니다.

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하세요.

sysadmin멤버만 다른 사용자가 소유한 작업 단계 로그를 삭제할 수 있습니다.

예제

A. 작업에서 모든 작업 단계 로그 제거

다음 예제에서는 작업에 대한 모든 작업 단계 로그를 Weekly Sales Data Backup제거합니다.

USE msdb;
GO

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

B. 특정 작업 단계에 대한 작업 단계 로그 제거

다음 예에서는 작업 Weekly Sales Data Backup의 2단계에 대한 작업 단계 로그를 제거합니다.

USE msdb;
GO

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

C. 연령 및 크기에 따라 모든 작업 단계 로그 제거

다음 예에서는 2005년 10월 25일 정오 이전 항목이면서 100MB를 초과하는 모든 작업 단계 로그를 작업 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