Share via


Create a PowerShell Script Job Step

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

Importante

Atualmente, na Instância Gerenciada de SQL do Azure, a maioria dos recursos do SQL Server Agent é compatível, mas não todos. Confira Diferenças entre o T-SQL da Instância Gerenciada de SQL do Azure e o SQL Server 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.

Somos todos ouvidos: Se você encontrar algo desatualizado ou incorreto neste artigo, como uma etapa ou um exemplo de código, informe-nos. Você pode clicar no botão Esta página na seção Comentários na parte inferior desta página. Lemos todos os itens de comentários sobre o SQL, normalmente no dia seguinte. Obrigado.

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 Servere a expanda.

  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 etapade trabalho.

  5. Na lista Tipo , clique em PowerShell.

  6. Na lista Executar como , selecione a conta proxy com as credenciais que o trabalho 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 contenha 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: a ação a tomar em caso de êxito ou falha da etapa, quantas vezes o SQL Server Agent deve tentar executar a etapa e com que frequência.

Usando o 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 o SQL Server Management Objects

Para criar uma etapa de trabalho de script PowerShell

Use a classe JobStep com uma linguagem de programação à sua escolha, como Visual Basic, Visual C# ou PowerShell.