작업 시작

적용 대상: SQL Server Azure SQL Managed Instance

Important

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

본 문서에서는 SQL Server Management Studio, Transact-SQL 또는 SQL Server 관리 개체를 사용하여 SQL Server에서 Microsoft SQL Server 에이전트 작업 실행을 시작하는 방법에 대해 설명합니다.

작업은 SQL Server 에이전트가 수행하는 지정된 일련의 작업입니다. SQL Server 에이전트 작업은 하나의 로컬 서버 또는 여러 원격 서버에서 실행할 수 있습니다.

시작하기 전에

보안

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

SQL Server Management Studio 사용

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

  2. SQL Server 에이전트 를 확장한 다음 작업을 확장합니다. 작업을 시작하는 방법에 따라 다음 중 하나를 수행합니다.

    • 단일 서버에서 작업하거나 대상 서버에서 작업하거나 마스터 서버에서 로컬 서버 작업을 실행하는 경우 시작하려는 작업을 마우스 오른쪽 단추로 선택한 다음 작업 시작을 클릭합니다.

    • 여러 작업을 시작하려면 작업 활동 모니터를 마우스 오른쪽 단추로 클릭한 다음 작업 활동 보기를 선택합니다. 작업 활동 모니터에서 여러 작업을 선택하고 선택 항목을 마우스 오른쪽 단추로 클릭한 다음 작업 시작을 선택할 수 있습니다.

    • 마스터 서버에서 작업 중이며 모든 대상 서버가 동시에 작업을 실행하도록 하려면 시작하려는 작업을 마우스 오른쪽 단추로 선택하고 작업 시작을 선택한 다음 모든 대상 서버에서 시작을 선택합니다.

    • 마스터 서버에서 작업 중이고 작업의 대상 서버를 지정하려면 시작할 작업을 마우스 오른쪽 단추로 선택하고 작업 시작을 선택한 다음 특정 대상 서버에서 시작을 선택합니다. 다운로드 명령 게시 대화 상자에서 이러한 대상 서버 확인란을 선택한 다음 이 작업을 실행할 각 대상 서버를 선택합니다.

Transact-SQL 사용

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

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

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

    -- starts a job named Weekly Sales Data Backup.
    USE msdb ;
    GO
    
    EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ;
    GO
    

자세한 내용은 sp_start_job(Transact-SQL)을 참조하세요.

프로그래밍 언어 사용

Visual Basic, Visual C#, SQL PowerShell 등 선택한 프로그래밍 언어를 사용하여 작업 클래스의 Start 메서드를 호출합니다.

SQL PowerShell

다음은 SQL Server 에이전트에서 매개 변수와 함께 사용할 수 있는 PowerShell 스크립트입니다. 이 스크립트는 스크립트에 전달된 매개 변수를 사용하여 SQL Server 에이전트 작업을 시작하는 방법을 보여 줍니다.

# Parameters
param(
    [string]$ServerInstance,
    [string]$JobName
)

# Load the SMO assembly
Add-Type -AssemblyName "Microsoft.SqlServer.SMO"

# Create a server object
$server = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance

# Get the job you want to start
$job = $server.JobServer.Jobs[$JobName]

# Start the job
if ($job) {
    $job.Start()
    Write-Output "The job '$JobName' on server '$ServerInstance' has been started successfully."
} else {
    Write-Output "The job '$JobName' was not found on server '$ServerInstance'."
}

SQL Server 에이전트 스크립트를 사용하는 방법입니다.

  1. SSMS(SQL Server Management Studio)를 엽니다.

  2. 적합한 SQL Server 인스턴스에 연결합니다.

  3. SQL Server 에이전트 노드를 확장합니다.

  4. 작업을 마우스 오른쪽 단추로 클릭하고 새 작업을 선택합니다.

  5. 새 작업 대화 상자에서 작업 이름 및 기타 필요한 세부 정보를 입력합니다.

  6. 단계 페이지로 이동하여 새로 만들기를 선택하여 새 작업 단계를 만듭니다.

  7. 새 작업 단계 대화 상자에서 다음을 수행합니다.

    1. 형식을 PowerShell로 설정합니다.

    2. 명령 필드에 매개 변수와 함께 PowerShell 스크립트를 입력합니다. 다음 예시를 참고하세요.

      .\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
      
  8. 필요에 따라 다른 작업 속성(일정, 경고, 알림 등)을 설정합니다.

  9. 저장을 선택하여 역할을 저장합니다.

스크립트에 대한 자세한 설명

  • 매개 변수: 이 스크립트는 각각 SQL Server 인스턴스와 작업 이름인 $ServerInstance 및 $JobName이라는 두 개의 매개 변수를 허용합니다.
  • 로드 SMO: 추가 형식 cmdlet은 SMO(SQL Server 관리 개체) 어셈블리를 로드하는 데 사용됩니다.
  • 서버 개체: $ServerInstance 매개 변수를 사용하여 새 서버 개체를 만듭니다.
  • 작업 가져오기: 스크립트는 $JobName 매개 변수를 사용하여 지정된 작업을 검색합니다.
  • 작업 시작: 작업이 발견되면 시작 메서드를 사용하여 시작합니다. 스크립트는 성공 메시지를 출력합니다. 작업을 찾을 수 없으면 오류 메시지가 표시됩니다.

자세한 내용은 SQL Server 관리 개체(SMO)를 참조하세요.