PowerShell 스크립트 작업 단계 만들기

적용 대상:SQL ServerAzure 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에서 PowerShell 스크립트를 실행하는 SQL Server 에이전트 작업 단계를 만들고 정의하는 방법을 설명합니다.

시작하기 전에

보안

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

여러분의 의견을 환영합니다. 이 문서에서 단계, 코드 예제 등에 오래되거나 잘못된 부분이 있으면 알려주세요. 이 페이지 아래쪽의 피드백 섹션에서 이 페이지 단추를 클릭할 수 있습니다. 일반적으로 다음날 SQL에 대한 모든 피드백 항목을 읽습니다. 감사합니다.

SQL Server Management Studio 사용

PowerShell 스크립트 작업 단계를 만들려면

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

  2. SQL Server 에이전트를 확장하고 새 작업을 만들거나 기존 작업을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 작업 만들기에 대한 자세한 내용은 작업 만들기를 참조하세요.

  3. 작업 속성 대화 상자에서 단계 페이지를 클릭한 다음 새로 만들기를 클릭합니다.

  4. 새 작업 단계 대화 상자에서 작업 단계 이름을 입력합니다.

  5. 형식 목록에서 PowerShell을 클릭합니다.

  6. 실행 목록에서 작업에서 사용할 자격 증명이 있는 프록시 계정을 선택합니다.

  7. 명령 상자에 작업 단계에 대해 실행할 PowerShell 스크립트 구문을 입력합니다. 또는 열기를 클릭하고 스크립트 구문이 포함된 파일을 선택합니다. PowerShell 스크립트의 예제는 아래 Transact-SQL 사용을 참조하세요.

  8. 고급 페이지를 클릭하여 작업 단계가 성공 또는 실패할 경우에 수행할 동작, SQL Server 에이전트의 작업 단계 실행 시도 횟수, 그리고 다시 시도 간격 등 작업 단계 옵션을 설정합니다.

Transact-SQL 사용

PowerShell 스크립트 작업 단계를 만들려면

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

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

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

    -- 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)을 참조하세요.

SQL Server 관리 개체 사용

PowerShell 스크립트 작업 단계를 만들려면

Visual Basic, Visual C#, PowerShell 등 선택한 프로그래밍 언어를 사용하여 JobStep 클래스를 사용합니다.