Executar etapas do Windows PowerShell no SQL Server Agent
Use o SQL Server Agent para executar scripts do SQL Server PowerShell nas horas agendadas.
Antes de começar: Limitações e restrições
Para executar o PowerShell do SQL Server Agent, usando: Etapa de Trabalho do PowerShell, Etapa de Trabalho do Prompt de Comando
Antes de começar
Existem vários tipos de etapas de trabalho do SQL Server Agent. Cada tipo está associado a um subsistema que implementa um ambiente específico, como um agente de replicação ou ambiente de prompt de comando. Você pode codificar os scripts do Windows PowerShell e usar o SQL Server Agent para incluir os scripts em trabalhos que são executados em horários programados ou em resposta a eventos do SQL Server. Scripts do Windows PowerShell podem ser executados usando uma etapa de trabalho de prompt de comando ou uma etapa de trabalho do PowerShell.
Use uma etapa de trabalho do PowerShell para que o subsistema do SQL Server Agent execute o utilitário, que inicia o
sqlps
PowerShell 2.0 e importa osqlps
módulo.Use uma etapa de trabalho de prompt de comando para executar o PowerShell.exe e especifique um script que importa o módulo
sqlps
.
Limitações e Restrições
Cuidado
Cada etapa de trabalho do SQL Server Agent que executa o PowerShell com o sqlps
módulo inicia um processo que consome aproximadamente 20 MB de memória. A execução de um grande número de etapas de trabalho concorrentes do Windows PowerShell pode afetar o desempenho de forma negativa.
Criar uma etapa de trabalho do PowerShell
Para criar uma etapa de trabalho do PowerShell
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.
Na caixa de diálogo Propriedades do Trabalho , clique na página Etapas e, em seguida, em Nova.
Na caixa de diálogo Nova Etapa de Trabalho , digite o Nome da etapade trabalho.
Na lista Tipo , clique em PowerShell.
Na lista Executar como , selecione a conta proxy com as credenciais que o trabalho usará.
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.
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.
Criar uma etapa de trabalho de prompt de comando
Para criar uma etapa de trabalho CmdExec
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.
Na caixa de diálogo Propriedades do Trabalho , clique na página Etapas e, em seguida, em Nova.
Na caixa de diálogo Nova Etapa de Trabalho , digite o Nome da etapade trabalho.
Na lista Tipo , escolha Sistema operacional (CmdExec) .
Na lista Executar como , selecione a conta proxy com as credenciais que o trabalho usará. Por padrão, etapas de trabalho CmdExec são executadas no contexto da conta do serviço do SQL Server Agent .
Na caixa Código de saída do processo de um comando bem sucedido , insira um valor de 0 a 999999.
Na caixa Comando , digite powershell.exe com parâmetros que especificam o script do PowerShell a ser executado.
Clique na página Avançado para definir opções para a etapa de trabalho, como a ação a tomar em caso de êxito ou falha da etapa, quantas vezes o SQL Server Agent deve ser executado para concluir a etapa com sucesso e o arquivo onde o SQL Server Agent pode gravar a saída da etapa. Só membros da função de servidor fixa sysadmin podem gravar a saída de etapas de trabalho em um arquivo do sistema operacional.