Compartilhar via


Criar uma etapa de trabalho CmdExec

Este tópico descreve como criar e definir uma etapa de trabalho do Microsoft SQL Server Agent no SQL Server 2012 que usa um programa executável ou comando do sistema operacional usando SQL Server Management Studio, Transact-SQL ou SQL Server Management Objects.

Neste tópico

  • Antes de começar:  

    Segurança

  • Para criar uma etapa de trabalho CmdExec, usando:

    SQL Server Management Studio

    Transact-SQL

    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.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando 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 Server e 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, em seguida, 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 etapa de 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 tentar executar a etapa e o arquivo onde o SQL Server Agent pode gravar a saída da etapa. Somente membros da função de servidor fixa sysadmin podem gravar a saída de etapas de trabalho em um arquivo do sistema operacional.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando 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 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).

Ícone de seta usado com o link Voltar ao Início[Top]

Usando o SQL Server Management Objects

Para criar uma etapa de trabalho CmdExec

Use a classe JobStep usando uma linguagem de programação que você escolher, como o Visual Basic, Visual C# ou PowerShell. Para obter mais informações, consulte SQL Server Management Objects (SMO).

Ícone de seta usado com o link Voltar ao Início[Top]