Compartilhar via


Create a PowerShell Script Job Step

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Importante

Na Instância Gerenciada de SQL do Azure, a maioria, mas não todos os recursos do SQL Server Agent estão atualmente suportados. Confira Diferenças do T-SQL da Instância Gerenciada de SQL do Azure em relação ao SQL Server ou Limitações de trabalhos do SQL Agent na Instância Gerenciada de SQL para obter detalhes.

Este tópico descreve como criar e definir uma etapa de trabalho do SQL Server Agent que execute um script do PowerShell no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.

Antes de começar

Segurança

Para obter informações detalhadas, consulte Implementar a Segurança do SQL Server Agent.

Como usar o SQL Server Management Studio.

Para criar uma etapa de trabalho de script PowerShell

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e, em seguida, expanda essa instância.

  2. Expanda SQL Server Agent, crie um novo trabalho ou clique com o botão direito do mouse em um trabalho existente e clique em Propriedades. Para obter mais informações sobre como criar um trabalho, consulte Criando trabalhos.

  3. Na caixa de diálogo Propriedades do Trabalho , clique na página Etapas e, em seguida, em Nova.

  4. Na caixa de diálogo Nova etapa de trabalho, digite o Nome da etapa de trabalho.

  5. Na lista Tipo , clique em PowerShell.

  6. Na lista Executar como, selecione a conta proxy com as credenciais que a tarefa usará.

  7. Na caixa Comando , digite a sintaxe do script PowerShell que será executada para a etapa de trabalho. Como alternativa, clique em Abrir e selecione um arquivo que contém a sintaxe de script. Para obter um exemplo de um script do PowerShell, consulte Como usar o Transact-SQL abaixo.

  8. Clique na página Avançado para definir as seguintes opções de etapa de trabalho: que ação executar se a etapa de trabalho for bem-sucedida ou falhar, quantas vezes o SQL Server Agent deve tentar executar a etapa de trabalho e com que frequência as tentativas de repetição devem ser feitas.

Usando Transact-SQL

Para criar uma etapa de trabalho de script PowerShell

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.

    -- 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  
    

Para obter mais informações, consulte sp_add_jobstep (Transact-SQL).

Usando objetos de gerenciamento do SQL Server

Para criar uma etapa de trabalho do Script do PowerShell

Use a classe JobStep usando uma linguagem de programação escolhida, como Visual Basic, Visual C#ou PowerShell.