Compartilhar via


Criar uma etapa de trabalho de script do PowerShell

Aplica-se a:SQL ServerAzure SQL Managed Instance

Importante

Em Instância Gerenciada do Azure SQL, a maioria, mas nem todos, os recursos do SQL Server Agent são suportados atualmente. Consulte as diferenças de T-SQL entre a Instância Gerenciada do Azure SQL e o SQL Server para obter detalhes.

Este tópico descreve como criar e definir uma etapa de trabalho do SQL Server Agent que executa 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 o SQL Server Agent Security.

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

Usando o SQL Server Management Studio

Para criar uma etapa de trabalho de script do PowerShell

  1. No Explorador 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 uma nova tarefa ou clique com o botão direito numa tarefa existente e, em seguida, clique em Propriedades. Para obter mais informações sobre como criar um emprego, consulte Criando empregos.

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

  4. Na caixa de diálogo Nova Etapa do Trabalho, digite um nome para a etapa de 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 de comando , insira a sintaxe do script PowerShell que será executada na etapa de trabalho. Como alternativa, clique em Abrir e selecione um arquivo que contenha a sintaxe do script. Para obter um exemplo de um script do PowerShell, consulte Usando o Transact-SQL abaixo.

  8. Clique na página Avançado para definir as seguintes opções de etapa de trabalho: qual ação tomar 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 devem ser feitas novas tentativas de tentativa.

Usando Transact-SQL

Para criar um passo de trabalho de script do 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 de Script do PowerShell

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