작업 단계 관리
적용 대상:SQL Server
Azure SQL Managed Instance
중요하다
Azure SQL Managed Instance 에서는 현재 대부분의 SQL Server 에이전트 기능이 지원되지만, 모두 지원되는 것은 아닙니다. 자세한 내용은 Azure SQL Managed Instance T-SQL 차이점 이 SQL Server과 어떻게 다른지 참조하세요.
작업 단계는 작업이 데이터베이스 또는 서버에서 수행하는 작업입니다. 모든 작업에는 하나 이상의 작업 단계가 있어야 합니다. 작업 단계는 다음과 같습니다.
실행 프로그램 및 운영 체제 명령.
저장 프로시저 및 확장 저장 프로시저를 포함한 Transact-SQL 문입니다.
PowerShell 스크립트.
Microsoft ActiveX 스크립트.
복제 작업.
Analysis Services 작업.
통합 서비스 패키지.
모든 작업 단계는 특정 보안 컨텍스트에서 실행됩니다. 작업 단계에서 프록시를 지정하는 경우 작업 단계는 프록시에 대한 자격 증명의 보안 컨텍스트에서 실행됩니다. 작업 단계에서 프록시를 지정하지 않으면 작업 단계는 SQL Server 에이전트 서비스 계정의 컨텍스트에서 실행됩니다. sysadmin 고정 서버 역할의 멤버만 프록시를 명시적으로 지정하지 않는 작업을 만들 수 있습니다.
작업 단계는 특정 Microsoft Windows 사용자의 컨텍스트에서 실행되므로 해당 사용자에게는 작업 단계를 실행하는 데 필요한 권한과 구성이 있어야 합니다. 예를 들어 드라이브 문자 또는 UNC(유니버설 명명 규칙) 경로가 필요한 작업을 만드는 경우 작업을 테스트하는 동안 작업 단계가 Windows 사용자 계정에서 실행되었을 수 있습니다. 그러나 작업 단계의 Windows 사용자에게는 필요한 사용 권한, 드라이브 문자 구성 또는 필요한 드라이브에 대한 액세스 권한도 있어야 합니다. 그렇지 않으면 작업 단계가 실패합니다. 이 문제를 방지하려면 각 작업 단계의 프록시에 작업 단계가 수행하는 작업에 필요한 권한이 있는지 확인합니다. 자세한 내용은 보안 및 보호(데이터베이스 엔진)참조하세요.
작업 단계 로그
SQL Server 에이전트는 일부 작업 단계의 출력을 운영 체제 파일 또는 msdb 데이터베이스의 sysjobstepslogs 테이블에 쓸 수 있습니다. 다음 작업 단계 유형은 두 대상 모두에 출력을 쓸 수 있습니다.
실행 프로그램 및 운영 체제 명령.
Transact-SQL 진술.
Analysis Services 작업.
sysadmin 고정 서버 역할의 멤버인 사용자가 실행하는 작업 단계만 운영 체제 파일에 작업 단계 출력을 쓸 수 있습니다. msdb 데이터베이스의 SQLAgentUserRole, SQLAgentReaderRole 또는 SQLAgentOperatorRole 고정 데이터베이스 역할의 멤버인 사용자가 작업 단계를 실행하는 경우 이러한 작업 단계의 출력은 sysjobstepslogs 테이블에만 기록될 수 있습니다.
작업 단계 로그는 작업 또는 작업 단계가 삭제될 때 자동으로 삭제됩니다.
메모
복제 작업 및 Integration Services 패키지 작업 단계 로깅은 해당 하위 시스템에 의해 처리됩니다. SQL Server 에이전트를 사용하여 이러한 유형의 작업 단계에 대한 조그 단계 로깅을 구성할 수 없습니다.
실행 가능 프로그램 및 Operating-System 명령어를 작업 단계로서
실행 프로그램 및 운영 체제 명령을 작업 단계로 사용할 수 있습니다. 이러한 파일에는 .bat, .cmd, .com 또는 .exe 파일 확장명이 있을 수 있습니다.
실행 프로그램 또는 운영 체제 명령을 작업 단계로 사용하는 경우 다음을 지정해야 합니다.
명령이 성공하면 프로세스 종료 코드가 반환됩니다.
실행할 명령입니다. 운영 체제 명령을 실행하기 위해 명령 자체일 뿐입니다. 외부 프로그램의 경우 프로그램의 이름과 프로그램에 대한 인수입니다( 예: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe -e -q "sp_who"
메모
실행 파일이 시스템 경로에 지정된 디렉터리 또는 작업 단계가 실행되는 사용자의 경로에 없는 경우 실행 파일의 전체 경로를 제공해야 합니다.
Transact-SQL 작업 단계
Transact-SQL 작업 단계를 만들 때 다음을 수행해야 합니다.
작업을 실행할 데이터베이스를 식별합니다.
실행할 Transact-SQL 문을 입력합니다. 이 문은 저장 프로시저 또는 확장 저장 프로시저를 호출할 수 있습니다.
필요에 따라 작업 단계에 대한 명령으로 기존 Transact-SQL 파일을 열 수 있습니다.
Transact-SQL 작업 단계에서는 SQL Server 에이전트 프록시를 사용하지 않습니다. 대신 작업 단계의 소유자가 sysadmin 고정 서버 역할의 멤버인 경우 작업 단계의 소유자 또는 SQL Server 에이전트 서비스 계정으로 실행됩니다. sysadmin 고정 서버 역할의 멤버는 sp_add_jobstep 저장 프로시저의 database_user_name 매개 변수를 사용하여 Transact-SQL 작업 단계가 다른 사용자의 컨텍스트에서 실행되도록 지정할 수도 있습니다. 자세한 내용은 sp_add_jobstep(Transact-SQL)참조하세요.
메모
단일 Transact-SQL 작업 단계에는 여러 일괄 처리가 포함될 수 있습니다. Transact-SQL 작업 단계에는 GO 명령이 내장될 수 있습니다.
PowerShell 스크립팅 작업 단계
PowerShell 스크립트 작업 단계를 만들 때 다음 두 가지 중 하나를 단계의 명령으로 지정해야 합니다.
PowerShell 스크립트의 텍스트입니다.
열려는 기존 PowerShell 스크립트 파일입니다.
SQL Server 에이전트 PowerShell 하위 시스템은 PowerShell 세션을 열고 SQL Server PowerShell 스냅인을 로드합니다. 작업 단계 명령으로 사용되는 PowerShell 스크립트는 SQL Server PowerShell 공급자 및 cmdlet을 참조할 수 있습니다. SQL Server PowerShell 스냅인을 사용하여 PowerShell 스크립트를 작성하는 방법에 대한 자세한 내용은 SQL Server PowerShell참조하세요.
ActiveX 스크립팅 작업 단계
중요하다
ActiveX 스크립팅 작업 단계는 이후 버전의 Microsoft SQL Server에서 SQL Server 에이전트에서 제거됩니다. 새 개발 작업에서 이 기능을 사용하지 말고 현재 이 기능을 사용하는 애플리케이션을 수정할 계획입니다.
ActiveX 스크립팅 작업 단계를 만들 때 다음을 수행해야 합니다.
작업 단계가 기록되는 스크립팅 언어를 식별합니다.
ActiveX 스크립트를 작성합니다.
작업 단계에 대한 명령으로 기존 ActiveX 스크립트 파일을 열 수도 있습니다. 또는 ActiveX 스크립트 명령을 외부에서 컴파일한 다음(예: Microsoft Visual Basic 사용) 실행 프로그램으로 실행할 수 있습니다.
작업 단계 명령이 ActiveX 스크립트인 경우 SQLActiveScriptHost 개체를 사용하여 출력을 작업 단계 기록 로그에 인쇄하거나 COM 개체를 만들 수 있습니다. SQLActiveScriptHost는 SQL Server 에이전트 호스팅 시스템에서 스크립트 이름 공간에 도입된 전역 개체입니다. 개체에는 두 가지 메서드(Print 및 CreateObject)가 있습니다. 다음 예제에서는 VBScript(Visual Basic Scripting Edition)에서 ActiveX 스크립팅이 작동하는 방식을 보여 줍니다.
' VBScript example for ActiveX Scripting job step
' Create a Dmo.Server object. The object connects to the
' server on which the script is running.
Set oServer = CreateObject("SQLDmo.SqlServer")
oServer.LoginSecure = True
oServer.Connect "(local)"
'Disconnect and destroy the server object
oServer.DisConnect
Set oServer = nothing
복제 작업 단계
복제를 사용하여 게시 및 구독을 만들 때 복제 작업은 기본적으로 만들어집니다. 만든 작업의 형식은 복제 유형(스냅샷, 트랜잭션 또는 병합) 및 사용된 옵션에 따라 결정됩니다.
복제 작업 단계는 다음 복제 에이전트 중 하나를 활성화합니다.
스냅샷 에이전트(스냅샷 작업)
로그 판독기 에이전트 (로그 리더 작업)
배포 에이전트(배포 작업)
병합 에이전트(병합 작업)
큐 리더 에이전트(QueueReader 작업)
복제가 설정되면 SQL Server 에이전트가 시작된 후, 요청 시 또는 일정에 따라 연속적으로 복제 에이전트를 실행하는 세 가지 방법 중 하나로 복제 에이전트를 실행하도록 지정할 수 있습니다. 복제 에이전트에 대한 자세한 내용은 복제 에이전트 개요참조하세요.
Analysis Services 작업 단계
SQL Server 에이전트는 두 가지 유형의 Analysis Services 작업 단계, 명령 작업 단계 및 쿼리 작업 단계를 지원합니다.
Analysis Services 명령 작업 단계
Analysis Services 명령 작업 단계를 만들 때 다음을 수행해야 합니다.
작업 단계를 실행할 데이터베이스 OLAP 서버를 식별합니다.
실행할 문을 입력합니다. 이 문은 Analysis Services Execute 메서드에 대한 XML이어야 합니다. 이 문에는 전체 SOAP 봉투 또는 Analysis Services용 XML Discover 메서드가 포함될 수 없습니다. SQL Server Management Studio는 전체 SOAP 봉투 및 Discover 메서드를 지원하지만 SQL Server 에이전트 작업 단계는 지원되지 않습니다.
Analysis Services 쿼리 작업 단계
Analysis Services 쿼리 작업 단계를 만들 때 다음을 수행해야 합니다.
작업 단계를 실행할 데이터베이스 OLAP 서버를 식별합니다.
실행할 문을 입력합니다. 문은 MDX(다차원 식) 쿼리여야 합니다.
MDX에 대한 자세한 내용은 MDX 문 기본 사항(MDX)을 참조하세요.
Integration Services 패키지
Integration Services 패키지 작업 단계를 만들 때 다음을 수행해야 합니다.
패키지의 원본을 식별합니다.
패키지의 위치를 식별합니다.
패키지에 구성 파일이 필요한 경우 구성 파일을 식별합니다.
패키지에 명령 파일이 필요한 경우 명령 파일을 식별합니다.
패키지에 사용할 검증 방법을 식별합니다. 예를 들어 패키지에 서명해야 하거나 패키지에 특정 패키지 ID가 있어야 한다고 지정할 수 있습니다.
패키지의 데이터 원본을 식별합니다.
패키지의 로그 공급자를 식별합니다.
패키지를 실행하기 전에 설정할 변수 및 값을 지정합니다.
실행 옵션을 식별합니다.
명령줄 옵션을 추가하거나 수정합니다.
SSIS 카탈로그에 패키지를 배포하고 SSIS 카탈로그 패키지 원본으로 지정한 경우 이 구성 정보의 대부분은 패키지에서 자동으로 가져옵니다. 구성 탭에서 환경, 매개 변수 값, 연결 관리자 값, 속성 재정의 및 패키지가 32비트 런타임 환경에서 실행되는지 여부를 지정할 수 있습니다.
Integration Services 패키지를 실행하는 작업 단계를 만드는 방법에 대한 자세한 내용은 패키지용 SQL Server 에이전트 작업을 참조하세요.
관련 작업
묘사 | 주제 |
---|---|
실행 프로그램을 사용하여 작업 단계를 만드는 방법을 설명합니다. | CmdExec 작업 단계 만들기 |
SQL Server 에이전트 권한을 다시 설정하는 방법을 설명합니다. | 사용자를 설정하여 SQL Server 에이전트 작업을 만들고 관리합니다. |
Transact-SQL 작업 단계를 만드는 방법을 설명합니다. | Transact-SQL 작업 단계 만들기 |
Microsoft SQL Server 에이전트 Transact-SQL 작업 단계에 대한 옵션을 정의하는 방법을 설명합니다. | Transact-SQL 작업 단계 옵션 정의 |
ActiveX 스크립트 작업 단계를 만드는 방법을 설명합니다. | ActiveX 스크립트 작업 단계 만들기 |
SQL Server Analysis Services 명령 및 쿼리를 실행하는 SQL Server 에이전트 작업 단계를 만들고 정의하는 방법을 설명합니다. | Analysis Services 작업 단계 만들기 |
작업 실행 중에 오류가 발생할 경우 SQL Server에서 수행해야 하는 작업에 대해 설명합니다. | 작업 단계 성공 또는 실패 흐름 설정 |
작업 단계 속성 대화 상자에서 작업 단계 세부 정보를 보는 방법을 설명합니다. | 작업 단계 정보 보기 |
SQL Server 에이전트 작업 단계 로그를 삭제하는 방법을 설명합니다. | 작업 단계 로그 삭제 |
참고 항목
sysjobstepslogs(Transact-SQL)
일자리 창출
sp_add_job(Transact-SQL)