만들기 및 Linux에서 SQL Server 에이전트 작업 실행Create and run SQL Server Agent jobs on Linux

SQL Server 작업이 정기적으로 SQL Server 데이터베이스에 동일한 명령 시퀀스를 수행 하는 데 사용 됩니다.SQL Server jobs are used to regularly perform the same sequence of commands in your SQL Server database. 이 항목에서는 TRANSACT-SQL 및 SQL Server Management Studio (SSMS)를 모두 사용 하 여 Linux에서 SQL Server 에이전트 작업을 만드는 방법의 예제.This topic provides examples of how to create SQL Server Agent jobs on Linux using both Transact-SQL and SQL Server Management Studio (SSMS).

이 릴리스에서 SQL Server 에이전트와 알려진된 문제에 대 한 참조는 릴리스 정보합니다.For known issues with SQL Server Agent in this release, see the Release Notes.

필수 구성 요소Prerequisites

을 만들고 작업을 실행 하려면 먼저 SQL Server 에이전트 서비스를 설치 해야 합니다.To create and run jobs, you must first install the SQL Server Agent service. 설치 지침에 대 한 참조는 SQL Server 에이전트 설치 항목합니다.For installation instructions, see the SQL Server Agent installation topic.

Transact SQL 있는 job 만들기Create a job with Transact-SQL

다음 TRANSACT-SQL 명령을 사용 하 여 Linux에서 SQL Server 에이전트 작업을 만드는 방법의 예를 제공 합니다.The following steps provide an example of how to create a SQL Server Agent job on Linux with Transact-SQL commands. 이 예제에서 이러한 작업 예제 데이터베이스에서 매일 백업을 실행 SampleDB합니다.These job in this example runs a daily backup on a sample database SampleDB.

이러한 명령을 실행 하는 T-SQL 클라이언트를 사용할 수 있습니다.You can use any T-SQL client to run these commands. 예를 들어 Linux에서 사용할 수 있습니다 sqlcmd 또는 Visual Studio Code합니다.For example, on Linux you can use sqlcmd or Visual Studio Code. 원격 Windows 서버에서 SQL Server Management Studio (SSMS) 쿼리를 실행 하거나 다음 섹션에 설명 된 작업 관리에 대 한 UI 인터페이스를 사용 하 여 수도 있습니다.From a remote Windows Server, you can also run queries in SQL Server Management Studio (SSMS) or use the UI interface for job management, which is described in the next section.

  1. 작업을 만들어합니다.Create the job. 다음 예제에서는 sp_add_job 라는 작업을 만들려면 Daily AdventureWorks Backup합니다.The following example uses sp_add_job to create a job named Daily AdventureWorks Backup.

     -- Adds a new job executed by the SQLServerAgent service 
     -- called 'Daily SampleDB Backup'  
     CREATE DATABASE SampleDB
     USE msdb ;  
     GO  
     EXEC dbo.sp_add_job  
         @job_name = N'Daily SampleDB Backup' ;  
     GO
    
  2. 하나 이상의 작업 단계를 추가합니다.Add one or more job steps. 다음 TRANSACT-SQL 스크립트를 사용 하 여 sp_add_jobstep 의 백업을 만드는 작업 단계를 만들려면는 AdventureWlorks2014 데이터베이스입니다.The following Transact-SQL script uses sp_add_jobstep to create a job step that creates a backup of the AdventureWlorks2014 database.

    -- Adds a step (operation) to the job  
    EXEC sp_add_jobstep  
      @job_name = N'Daily SampleDB Backup',  
      @step_name = N'Backup database',  
      @subsystem = N'TSQL',  
      @command = N'BACKUP DATABASE SampleDB TO DISK = \
      N''/var/opt/mssql/data/SampleDB.bak'' WITH NOFORMAT, NOINIT, \
              NAME = ''SampleDB-full'', SKIP, NOREWIND, NOUNLOAD, STATS = 10',   
      @retry_attempts = 5,  
      @retry_interval = 5 ;  
    GO
    
  3. 작업 일정을 만들합니다.Create a job schedule. 이 예에서는 sp_add_schedule 작업에 대 한 일별 일정을 만듭니다.This example uses sp_add_schedule to create a daily schedule for the job.

    -- Creates a schedule called 'Daily'  
    EXEC dbo.sp_add_schedule  
     @schedule_name = N'Daily SampleDB',  
     @freq_type = 4,  
     @freq_interval = 1,
     @active_start_time = 233000 ;  
    USE msdb ;  
    GO
    
  4. 작업에 작업 일정을 연결합니다.Attach the job schedule to the job. 사용 하 여 sp_attach_schedule 작업에 작업 일정을 연결 합니다.Use sp_attach_schedule to attach the job schedule to the job.

    -- Sets the 'Daily' schedule to the 'Daily AdventureWorks Backup' Job  
    EXEC sp_attach_schedule  
     @job_name = N'Daily SampleDB Backup',  
     @schedule_name = N'Daily SampleDB';  
    GO
    
  5. 대상 서버에 작업 할당합니다.Assign the job to a target server. 사용 하 여 대상 서버에 작업 할당 sp_add_jobserver합니다.Assign the job to a target server with sp_add_jobserver. 이 예제에서는 로컬 서버에는 대상이 됩니다.In this example, the local server is the target.

    EXEC dbo.sp_add_jobserver  
     @job_name = N'Daily SampleDB Backup',  
     @server_name = N'(LOCAL)';  
    GO
    
  6. 작업을 시작합니다.Start the job.

    EXEC dbo.sp_start_job N' Daily SampleDB Backup' ;
    GO
    

    SSMS 있는 job 만들기Create a job with SSMS

만들고 및 원격으로 SQL Server Management Studio (SSMS)를 사용 하 여 Windows에서 작업을 관리할 수도 있습니다.You can also create and manage jobs remotely using SQL Server Management Studio (SSMS) on Windows.

  1. Windows에서 SSMS를 시작 하 고 Linux SQL Server 인스턴스에 연결 합니다.Start SSMS on Windows and connect to your Linux SQL Server instance. 자세한 내용은 참조 linux SSMS로 SQL Server 관리합니다.For more information, see Manage SQL Server on Linux with SSMS.

  2. SampleDB 라는 이름의 새 데이터베이스 만들기합니다.Create a new database named SampleDB.

    Create a SampleDB database

  3. SQL 에이전트를 설치 하 고 올바르게 구성 되어 있는지 확인 합니다.Verify that SQL Agent was installed and configured correctly. 개체 탐색기에서 SQL Server 에이전트 옆의 더하기 기호를 찾습니다.Look for the plus sign next to SQL Server Agent in the Object Explorer. SQL Server 에이전트가 설치 되지 않은 경우 참조 Linux에서 SQL Server 에이전트 설치합니다.If SQL Server Agent is not installed, see Install SQL Server Agent on Linux.

    SQL Server 에이전트 설치 확인

  4. 새 작업을 만듭니다.Create a new job.

    새 작업 만들기

  5. 작업 이름을 지정 하 고 작업 단계를 만듭니다.Give your job a name and create your job step.

    작업 단계 만들기

  6. 작업 단계에서 수행 해야 하 고 사용 하려는 하위 시스템을 지정 합니다.Specify what subsystem you want to use and what the job step should do.

    작업 하위 시스템

    작업 단계 동작

  7. 새 작업 일정을 만듭니다.Create a new job schedule.

    작업 일정

    작업 일정

  8. 작업을 시작 합니다.Start your job.

    Start the SQL Server Agent job

다음 단계Next Steps

만들기 및 SQL Server 에이전트 작업을 관리 하는 방법에 대 한 자세한 내용은 참조 SQL Server 에이전트합니다.For more information about creating and managing SQL Server Agent jobs, see SQL Server Agent.