SQL Server 에이전트에서 Windows PowerShell 작업 단계 실행Run Windows PowerShell Steps in SQL Server Agent

SQL Server 에이전트를 사용하여 일정에 따라 SQL Server PowerShell 스크립트를 실행할 수 있습니다.Use SQL Server Agent to run SQL Server PowerShell scripts at schedule times.

  1. 시작하기 전에: 제한 사항Before you begin: Limitations and Restrictions

  2. 에서 SQL Server 에이전트에서 PowerShell을 실행하려면 PowerShell 작업 단계, 명령 프롬프트 작업 단계To run PowerShell from SQL Server Agent, using: PowerShell Job Step, Command Prompt Job Step

시작하기 전에Before You Begin

SQL ServerSQL Server 에이전트 작업 단계 유형은 여러 가지가 있습니다.There are several types of SQL ServerSQL Server Agent job steps. 각 유형은 복제 에이전트나 명령 프롬프트 환경과 같은 특정 환경을 구현하는 하위 시스템과 관련되어 있습니다.Each type is associated with a subsystem that implements a specific environment, such as a replication agent or command prompt environment. Windows PowerShell 스크립트를 코딩한 다음 SQL ServerSQL Server 에이전트를 사용하여 예약된 시간에 실행되거나 SQL ServerSQL Server 이벤트에 대한 응답으로 실행되는 스크립트를 작업에 포함할 수 있습니다.You can code Windows PowerShell scripts, and then use SQL ServerSQL Server Agent to include the scripts in jobs that run at scheduled times or in response to SQL ServerSQL Server events. 명령 프롬프트 작업 단계 또는 PowerShell 작업 단계를 사용하여 Windows PowerShell 스크립트를 실행할 수 있습니다.Windows PowerShell scripts can be run using either a command prompt job step or a PowerShell job step.

  1. PowerShell 작업 단계를 사용하여 SQL ServerSQL Server 에이전트 하위 시스템에서 모듈을 함께 실행하는 각 유틸리티를 실행하도록 합니다. 이 유틸리티는 PowerShell을 시작하고 모듈을 함께 실행하는 각 모듈을 가져옵니다.Use a PowerShell job step to have the SQL ServerSQL Server Agent subsystem run the sqlps utility, which launches PowerShell and imports the sqlps module.

  2. 명령 프롬프트 작업 단계를 사용하여 PowerShell.exe를 실행하고, sqlps 모듈을 가져오는 스크립트를 지정합니다.Use a command prompt job step to run PowerShell.exe, and specify a script that imports the sqlps module.

제한 사항 Limitations and Restrictions

주의

PowerShell과 SQL ServerSQL Server sqlps 모듈을 함께 실행하는 각 에이전트 작업 단계에서는 약 20MB의 메모리를 사용하는 프로세스를 시작합니다.Each SQL ServerSQL Server Agent job step that runs PowerShell with the sqlps module launches a process which consumes approximately 20 MB of memory. 따라서 많은 수의 Windows PowerShell 작업 단계를 동시에 실행하면 성능이 저하될 수 있습니다.Running large numbers of concurrent Windows PowerShell job steps can adversely impact performance.

PowerShell 작업 단계 만들기 Create a PowerShell Job Step

PowerShell 작업 단계를 만들려면To create a PowerShell job step

  1. SQL Server 에이전트를 확장하고 새 작업을 만들거나 기존 작업을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties. 작업을 만드는 방법은 작업 만들기를 참조하세요.For more information about creating a job, see Creating Jobs.

  2. 작업 속성 대화 상자에서 단계 페이지를 클릭한 다음 새로 만들기를 클릭합니다.In the Job Properties dialog, click the Steps page, and then click New.

  3. 새 작업 단계 대화 상자에서 작업 단계 이름을 입력합니다.In the New Job Step dialog, type a job Step name.

  4. 형식 목록에서 PowerShell을 클릭합니다.In the Type list, click PowerShell.

  5. 다음 계정으로 실행 목록에서 작업에 사용할 자격 증명을 가진 프록시 계정을 선택합니다.In the Run as list, select the proxy account with the credentials that the job will use.

  6. 명령 입력란에 작업 단계를 위해 실행될 PowerShell 스크립트 구문을 입력합니다.In the Command box, enter the PowerShell script syntax that will be executed for the job step. 아니면 열기 를 클릭한 다음 해당 스크립트 구문이 포함된 파일을 선택합니다.Alternately, click Open and select a file containing the script syntax.

  7. 고급 페이지를 클릭하여 작업 단계가 성공 또는 실패할 경우에 수행할 동작, SQL ServerSQL Server 에이전트의 작업 단계 실행 시도 횟수, 그리고 다시 시도 간격 등 작업 단계 옵션을 설정합니다.Click the Advanced page to set the following job step options: what action to take if the job step succeeds or fails, how many times SQL ServerSQL Server Agent should try to execute the job step, and how often retry attempts should be made.

명령 프롬프트 작업 단계 만들기 Create a Command Prompt Job Step

CmdExec 작업 단계를 만들려면To create a CmdExec job step

  1. SQL Server 에이전트를 확장하고 새 작업을 만들거나 기존 작업을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties. 작업을 만드는 방법은 작업 만들기를 참조하세요.For more information about creating a job, see Creating Jobs.

  2. 작업 속성 대화 상자에서 단계 페이지를 클릭한 다음 새로 만들기를 클릭합니다.In the Job Properties dialog, click the Steps page, and then click New.

  3. 새 작업 단계 대화 상자에서 작업 단계 이름을 입력합니다.In the New Job Step dialog, type a job Step name.

  4. 유형 목록에서 운영 체제(CmdExec)를 선택합니다.In the Type list, choose Operating system (CmdExec).

  5. 다음 계정으로 실행 목록에서 해당 작업이 사용할 자격 증명을 가진 프록시 계정을 선택합니다.In Run as list, select the proxy account with the credentials that the job will use. 기본적으로 CmdExec 작업 단계는 SQL Server 에이전트 서비스 계정의 컨텍스트에서 실행됩니다.By default, CmdExec job steps run under the context of the SQL Server Agent service account.

  6. 성공한 명령의 프로세스 종료 코드 상자에 0에서 999999까지의 값을 입력합니다.In the Process exit code of a successful command box, enter a value from 0 to 999999.

  7. 명령 입력란에 실행할 PowerShell 스크립트를 지정하는 매개 변수와 함께 powershell.exe를 입력합니다.In the Command box, enter powershell.exe with parameters specifying the PowerShell script to be run.

  8. 고급 페이지를 클릭하여 작업 단계의 성공 또는 실패 여부에 따라 수행할 동작, SQL ServerSQL Server 에이전트가 작업 단계를 수행할 횟수, SQL ServerSQL Server 에이전트가 작업 단계 출력을 쓸 파일 등의 작업 단계 옵션을 설정합니다.Click the Advanced page to set job step options, such as: what action to take if the job step succeeds or fails, how many times SQL ServerSQL Server Agent should try to execute the job step, and the file where SQL ServerSQL Server Agent can write the job step output. sysadmin 고정 서버 역할의 멤버만 운영 체제 파일에 작업 단계 출력을 쓸 수 있습니다.Only members of the sysadmin fixed server role can write job step output to an operating system file.

참고 항목See Also

SQL Server PowerShellSQL Server PowerShell