SQL Server 에이전트 마스터 작업 만들기Create a SQL Server Agent Master Job

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 이 항목에서는 SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 SQL Server 2017SQL Server 2017에서 마스터 MicrosoftMicrosoft SQL ServerSQL Server 에이전트 작업을 만드는 방법을 보여 줍니다. This topic describes how to create a master MicrosoftMicrosoft SQL ServerSQL Server Agent job in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

항목 내용In This Topic

시작하기 전 주의 사항Before You Begin

제한 사항Limitations and Restrictions

마스터 SQL ServerSQL Server 에이전트 작업에 대한 변경 내용은 관련된 모든 대상 서버에 전파되어야 합니다.Changes to master SQL ServerSQL Server Agent jobs must be propagated to all involved target servers. 대상 서버는 해당 대상이 지정될 때까지 처음에 작업을 다운로드하지 않으므로 MicrosoftMicrosoft 는 사용자가 대상 서버를 지정하기 전에 특정 작업에 대한 모든 작업 단계 및 작업 일정을 완료하도록 권장합니다.Because target servers do not initially download a job until those targets are specified, MicrosoftMicrosoft recommends that you complete all job steps and job schedules for a particular job before you specify any target servers. 그렇지 않으면 sp_post_msx_operation 저장 프로시저를 실행하거나 SQL Server Management StudioSQL Server Management Studio를 사용하여 작업을 수정하여 대상 서버가 수정된 작업을 다시 다운로드하도록 수동으로 요청해야 합니다.Otherwise, you must manual request that the target servers download the modified job again, either by executing the sp_post_msx_operation stored procedure or modifying the job using SQL Server Management StudioSQL Server Management Studio. 자세한 내용은 sp_post_msx_operation(Transact-SQL) 또는 작업 수정을 참조하세요.For more information, see sp_post_msx_operation (Transact-SQL) or Modify a Job.

보안Security

PermissionsPermissions

프록시와 연관된 단계가 있는 배포된 작업은 대상 서버의 프록시 계정 컨텍스트로 실행됩니다.Distributed jobs that have steps which are associated with a proxy run under the context of the proxy account on the target server. 다음 조건이 만족되는지 또는 프록시와 연관된 작업 단계가 마스터 서버에서 대상으로 다운로드되지 않는지 확인하세요.Make sure that the following conditions are met or job steps that are associated with a proxy will not be downloaded from the master server to the target:

  • 레지스트리 하위 키 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<*instance_name*>\SQL Server Agent\AllowDownloadedJobsToMatchProxyName (REG_DWORD)을 1(true)로 설정합니다.The registry subkey \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<*instance_name*>\SQL Server Agent\AllowDownloadedJobsToMatchProxyName (REG_DWORD) is set to 1 (true). 기본적으로 이 하위 키는 0(false)으로 설정됩니다.By default, this subkey is set to 0 (false).

  • 프록시 계정이 작업 단계가 실행되는 마스터 서버 프록시 계정과 동일한 이름을 가진 대상 서버에 있는지 여부A proxy account exists on the target server that has the same name as the master server proxy account under which the job step runs.

마스터 서버에서 대상 서버로 다운로드할 때 프록시 계정을 사용하는 작업 단계가 실패한 경우 msdb 데이터베이스의 sysdownloadlist 테이블에 있는 error_message 열에서 다음 오류 메시지를 확인할 수 있습니다.If job steps that use proxy accounts fail when downloading them from the master server to the target server, you can check the error_message column in the sysdownloadlist table in the msdb database for the following error messages:

  • "작업 단계에 프록시 계정이 필요하지만 일치하는 프록시를 대상 서버에서 사용할 수 없습니다.""The job step requires a proxy account, however proxy matching is disabled on the target server." 이 오류를 해결하려면 AllowDownloadedJobsToMatchProxyName 레지스트리 하위 키를 1로 설정합니다.To resolve this error, set the AllowDownloadedJobsToMatchProxyName registry subkey to 1.

  • "프록시를 찾을 수 없습니다.""Proxy not found." 이 오류를 해결하려면 프록시 계정이 작업 단계가 실행되는 마스터 서버 프록시 계정과 동일한 이름을 가진 대상 서버에 있는지 확인합니다.To resolve this error, make sure a proxy account exists on the target server that has the same name as the master server proxy account under which the job step runs.

SQL Server Management Studio 사용Using SQL Server Management Studio

마스터 SQL Server 에이전트 작업을 만들려면To create a master SQL Server Agent job

  1. 개체 탐색기에서 더하기 기호를 클릭하여 SQL Server 에이전트 작업을 만들려는 서버를 확장합니다.In the Object Explorer, click the plus sign to expand the server where you want to create a SQL Server Agent job.

  2. 더하기 기호를 클릭하여 SQL Server 에이전트를 확장합니다.Click the plus sign to expand SQL Server Agent.

  3. 작업 폴더를 마우스 오른쪽 단추로 클릭하고 새 작업...을 선택합니다.Right-click the Jobs folder and select New Job….

  4. 새 작업 대화 상자의 일반 페이지에서 작업의 일반 속성을 수정합니다.In the New Job dialog box, on the General page, modify the general properties of the job. 이 페이지에서 사용할 수 있는 옵션에 대한 자세한 내용은 작업 속성 - 새 작업(일반 페이지)을 참조하세요.For more information on the available options on this page, see Job Properties - New Job (General Page)

  5. 단계 페이지에서 작업 단계를 구성합니다.On the Steps page, organize the job steps. 이 페이지에서 사용할 수 있는 옵션에 대한 자세한 내용은 작업 속성 - 새 작업(단계 페이지)을 참조하세요.For more information on the available options on this page, see Job Properties - New Job (Steps Page)

  6. 일정 페이지에서 작업 일정을 구성합니다.On the Schedules page, organize schedules for the job. 이 페이지에서 사용할 수 있는 옵션에 대한 자세한 내용은 작업 속성 - 새 작업(일정 페이지)을 참조하세요.For more information on the available options on this page, see Job Properties - New Job (Schedules Page)

  7. 경고 페이지에서 작업에 대한 경고를 구성합니다.On the Alerts page, organize the alerts for the job. 이 페이지에서 사용할 수 있는 옵션에 대한 자세한 내용은 작업 속성 - 새 작업(경고 페이지)을 참조하세요.For more information on the available options on this page, see Job Properties - New Job (Alerts Page)

  8. 알림 페이지에서 작업이 완료되었을 때 MicrosoftMicrosoft SQL ServerSQL Server 에이전트가 수행할 동작을 설정합니다.On the Notifications page, set actions for MicrosoftMicrosoft SQL ServerSQL Server Agent to perform when the job completes. 이 페이지에서 사용할 수 있는 옵션에 대한 자세한 내용은 작업 속성 - 새 작업(알림 페이지)을 참조하세요.For more information on the available options on this page, see Job Properties - New Job (Notifications Page).

  9. 대상 페이지에서 작업의 대상 서버를 관리합니다.On the Targets page, manage the target servers for the job. 이 페이지에서 사용할 수 있는 옵션에 대한 자세한 내용은 작업 속성 - 새 작업(대상 페이지)을 참조하세요.For more information on the available options on this page, see Job Properties - New Job (Targets Page).

  10. 완료되었으면 확인을 클릭합니다.When finished, click OK.

Transact-SQL 사용Using Transact-SQL

마스터 SQL Server 에이전트 작업을 만들려면To create a master SQL Server Agent job

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    USE msdb ;  
    GO  
    -- Adds a new job executed by the SQLServerAgent service called 'Weekly Sales Data Backup'  
    EXEC dbo.sp_add_job  
        @job_name = N'Weekly Sales Data Backup' ;  
    GO  
    -- Adds a step (operation) to the 'Weekly Sales Data Backup' job.  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'TSQL',  
        @command = N'ALTER DATABASE SALES SET READ_ONLY',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    -- Creates a schedule called RunOnce  
    EXEC dbo.sp_add_schedule  
        @schedule_name = N'RunOnce',  
        @freq_type = 1,  
        @active_start_time = 233000 ;  
    USE msdb ;  
    GO  
    -- Sets the 'RunOnce' schedule to the "Weekly Sales Data Backup' Job  
    EXEC sp_attach_schedule  
       @job_name = N'Weekly Sales Data Backup',  
       @schedule_name = N'RunOnce';  
    GO  
    -- assigns the multiserver job Weekly Sales Backups to the server SEATTLE2  
    -- assumes that SEATTLE2 is registered as a target server for the current instance.  
    EXEC dbo.sp_add_jobserver  
        @job_name = N'Weekly Sales Data Backups',  
        @server_name = N'SEATTLE2' ;  
    GO  
    

참조 항목:For more information, see: