작업 시작
적용 대상:SQL Server
Azure SQL Managed Instance
중요하다
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 사용
개체 탐색기에서 SQL Server 데이터베이스 엔진의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.
SQL Server 에이전트를 확장하고작업을 확장합니다. 작업을 시작하는 방법에 따라 다음 중 하나를 수행합니다.
단일 서버에서 작업하거나 대상 서버에서 작업하거나 마스터 서버에서 로컬 서버 작업을 실행하는 경우 시작하려는 작업을 마우스 오른쪽 단추로 클릭한 다음 작업 시작 선택합니다.
여러 작업을 시작하려면 작업 모니터를 마우스 오른쪽 단추로 클릭한 다음 작업 활동 보기를 선택합니다. 작업 활동 모니터에서 여러 작업을 선택하고, 선택 항목을 마우스 오른쪽 단추로 클릭한 다음, 작업 시작을 선택할 수 있습니다.
마스터 서버에서 작업 중이고 모든 대상 서버가 동시에 작업을 실행하도록 하려면 시작하려는 작업을 마우스 오른쪽 단추로 클릭하고 작업 선택한 다음 모든 대상 서버에서시작을 선택합니다.
마스터 서버에서 작업 중이고 작업의 대상 서버를 지정하려는 경우 시작하려는 작업을 마우스 오른쪽 단추로 클릭하고 작업 선택한 다음 특정 대상 서버에서 시작선택합니다. 다운로드 후 지침 대화 상자에서 대상 서버 확인란을 선택한 다음, 이 작업이 실행되어야 하는 각 대상 서버를 선택합니다.
Transact-SQL 사용
개체 탐색기데이터베이스 엔진 인스턴스에 연결합니다.
표준 표시줄에서 새 쿼리선택합니다.
다음 예제를 복사하여 쿼리 창에 붙여넣고 실행합니다.
-- 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과 같이 선택한 프로그래밍 언어를 사용하여 Job 클래스의 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 에이전트에서 스크립트를 사용하는 방법입니다.
SSMS(SQL Server Management Studio)를 엽니다.
적절한 SQL Server 인스턴스에 연결합니다.
SQL Server 에이전트 노드를 확장합니다.
작업을 마우스 오른쪽 단추로 클릭하고 새 작업을 선택합니다.
새 작업 대화 상자에서 작업 이름 및 기타 필요한 세부 정보를 입력합니다.
단계 페이지로 이동하여 새로 만들기를 선택하여 새 작업 단계를 만듭니다.
새 작업 단계 대화 상자에서 다음을 수행합니다.
형식을 PowerShell로 설정합니다.
명령 필드에 매개 변수와 함께 PowerShell 스크립트를 입력합니다. 예를 들면 다음과 같습니다.
.\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
필요에 따라 다른 작업 속성(일정, 경고, 알림 등)을 설정합니다.
확인을 선택하여 작업을 저장합니다.
스크립트에 대한 설명
- 매개 변수: 스크립트는 각각 SQL Server 인스턴스와 작업 이름인 $ServerInstance 및 $JobName 두 개의 매개 변수를 허용합니다.
- 로드 SMO: Add-Type cmdlet은 SMO(SQL Server Management Objects) 어셈블리를 로드하는 데 사용됩니다.
- 서버 개체: $ServerInstance 매개 변수를 사용하여 새 서버 개체를 만듭니다.
- 작업 가져오기: 스크립트는 $JobName 매개 변수를 사용하여 지정된 작업을 검색합니다.
- 작업 시작: 작업이 발견되면 Start 메서드를 사용하여 시작됩니다. 스크립트는 성공 메시지를 출력합니다. 작업을 찾을 수 없으면 오류 메시지가 표시됩니다.
자세한 내용은 SMO(SQL Server Management Objects) 참조하세요.