Partilhar via


Create a CmdExec Job Step

Aplica-se a: SQL Server Instâ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 Microsoft SQL Server Agent no SQL Server que usa um programa executável ou comando do sistema operacional usando o SQL Server Management Studio, o Transact-SQL ou o SQL Server Management Objects.

Antes de começar

Segurança

Por padrão, só membros da função de servidor fixa sysadmin podem criar etapas de trabalho CmdExec. Essas etapas de trabalho são executadas no contexto da conta de serviço do SQL Server Agent, a menos que o usuário de sysadmin crie uma conta proxy. Usuários que não sejam membros da função sysadmin poderão criar etapas de trabalho CmdExec se tiverem acesso à conta proxy de CmdExec.

Permissões

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 CmdExec

  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.

  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 , escolha Sistema operacional (CmdExec) .

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

  7. Na caixa Código de saída do processo de um comando bem sucedido , insira um valor de 0 a 999999.

  8. Na caixa Comando , digite o comando de sistema operacional ou programa executável. Consulte "Usando Transact T-SQL para obter um exemplo.

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

Usando o Transact-SQL

Para criar uma etapa de trabalho CmdExec

  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 job step that uses CmdExec  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'CMDEXEC',  
        @command = 'C:\clickme_scripts\SQL11\PostBOLReorg GetHsX.exe',   
        @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 CmdExec

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