Create a PowerShell Script Job StepCreate a PowerShell Script Job Step

이 항목에서는 SQL ServerSQL Server 또는 SQL Server 2017SQL Server 2017 을 사용하여 SQL Server Management StudioSQL Server Management Studio 에서 PowerShell 스크립트를 실행하는 Transact-SQLTransact-SQL에이전트 작업 단계를 만들고 정의하는 방법에 대해 설명합니다.This topic describes how to create and define a SQL ServerSQL Server Agent job step that executes a PowerShell script in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

항목 내용In This Topic

시작하기 전에Before You Begin

보안Security

자세한 내용은 Implement SQL Server Agent Security을 참조하세요.For detailed information, see Implement SQL Server Agent Security.

SQL Server Management Studio 사용Using SQL Server Management Studio

PowerShell 스크립트 작업 단계를 만들려면To create a PowerShell Script job step

  1. 개체 탐색기 에서 SQL Server 데이터베이스 엔진SQL Server Database Engine인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.In Object Explorer, connect to an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, and then expand that instance.

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

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

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

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

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

  7. 명령 입력란에 작업 단계를 위해 실행될 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. PowerShell 스크립트 예는 아래의 Transact-SQL 사용 을 참조하세요.For an example of a PowerShell script, see Using Transact-SQL below.

  8. 고급 페이지를 클릭하여 작업 단계가 성공 또는 실패할 경우에 수행할 동작, 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.

Transact-SQL 사용Using Transact-SQL

PowerShell 스크립트 작업 단계를 만들려면To create a PowerShell Script job step

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    -- creates a PowerShell job step that finds the processes
    -- that use more than 1000 MB of memory and kills them  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Kills all processes that use more than 1000 MB of memory',  
        @subsystem = N'PowerShell',  
        @command = N'Get-Process | Where-Object { $_.WS -gt 1000MB } | Stop-Process',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

자세한 내용은 sp_add_jobstep(Transact-SQL)을 참조하세요.For more information, see sp_add_jobstep (Transact-SQL).

SQL Server 관리 개체 사용Using SQL Server Management Objects

PowerShell 스크립트 작업 단계를 만들려면To create a PowerShell Script job step

Visual Basic, Visual C#, PowerShell 등 선택한 프로그래밍 언어를 사용하여 JobStep 클래스를 사용합니다.Use the JobStep class by using a programming language that you choose, such as Visual Basic, Visual C#, or PowerShell.