작업 예약

적용 대상:SQL ServerAzure SQL Managed Instance

중요

현재 Azure SQL Managed Instance에서는 SQL Server 에이전트 기능이 대부분 지원됩니다. 자세한 내용은 SQL Server와 Azure SQL Managed Instance 간의 T-SQL 차이점을 참조하세요.

이 항목에서는 SQL Server 에이전트 작업을 예약하는 방법에 대해 설명합니다.

시작하기 전에

보안

자세한 내용은 SQL Server 에이전트 보안 구현을 참조하세요.

SQL Server Management Studio 사용

일정을 만들어 작업에 연결하려면

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진의 인스턴스에 연결하고 해당 인스턴스를 확장합니다.

  2. SQL Server 에이전트, 작업을 차례로 확장한 다음 예약할 작업을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  3. 일정 페이지를 선택한 다음 새로 만들기를 클릭합니다.

  4. 이름 상자에 새 일정의 이름을 입력합니다.

  5. 만든 즉시 일정이 적용되지 않게 하려면 사용 확인란의 선택을 해제합니다.

  6. 일정 유형에 대해 다음 중 하나를 선택합니다.

    • SQL Server 에이전트가 시작될 때 자동으로 시작을 클릭하여 SQL Server 에이전트 서비스가 시작할 때 작업을 시작합니다.

    • CPU가 유휴 상태로 될 때마다 시작 을 클릭하여 CPU가 유휴 상태일 때 작업을 시작합니다.

    • 일정을 반복적으로 실행하려면 되풀이를 클릭합니다. 반복 수행 일정을 설정하려면 대화 상자에서 빈도, 일별 빈도기간 그룹을 입력하세요.

    • 일정을 한 번만 실행하려면 일회성을 클릭합니다. 일회성 일정을 설정하려면 대화 상자에서 일회성 발생 그룹을 완료합니다.

작업에 일정을 연결하려면

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진의 인스턴스에 연결하고 해당 인스턴스를 확장합니다.

  2. SQL Server 에이전트, 작업을 차례로 확장한 다음 예약할 작업을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  3. 일정 페이지를 선택한 다음 선택을 클릭합니다.

  4. 연결할 일정을 선택하고 확인을 클릭합니다.

  5. 작업 속성 대화 상자에서 연결된 일정을 두 번 클릭합니다.

  6. 시작 날짜가 올바르게 설정되었는지 확인합니다. 그렇지 않은 경우 일정을 시작할 날짜를 설정한 다음 확인을 클릭합니다.

  7. 작업 속성 대화 상자에서 확인을 클릭합니다.

Transact-SQL 사용

작업을 예약하려면

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.

    USE msdb ;  
    GO  
    -- creates a schedule named NightlyJobs.   
    -- Jobs that use this schedule execute every day when the time on the server is 01:00.   
    EXEC sp_add_schedule  
        @schedule_name = N'NightlyJobs' ,  
        @freq_type = 4,  
        @freq_interval = 1,  
        @active_start_time = 010000 ;  
    GO  
    -- attaches the schedule to the job BackupDatabase  
    EXEC sp_attach_schedule  
       @job_name = N'BackupDatabase',  
       @schedule_name = N'NightlyJobs' ;  
    GO  
    

자세한 내용은 sp_add_schedule(Transact-SQL)sp_attach_schedule(Transact-SQL)를 참조하세요.

SQL Server 관리 개체 사용

Visual Basic, Visual C#, PowerShell 등 선택한 프로그래밍 언어를 사용하여 JobSchedule 클래스를 사용합니다. 자세한 내용은 SQL Server 관리 개체(SMO)를 참조하세요.