Create a CmdExec Job Step

Se aplica a:SQL ServerAzure SQL Managed Instance

Importante

En Azure SQL Managed Instance, actualmente son compatibles la mayoría de las características del Agente SQL Server. Consulte Diferencias entre T-SQL de Azure SQL Managed Instance y SQL Server para más información.

En este tema se describe cómo crear y definir un paso de trabajo del Agente Microsoft SQL Server en SQL Server que usa un programa ejecutable o un comando del sistema operativo mediante SQL Server Management Studio, Transact-SQL u Objetos de administración de SQL Server.

Antes de empezar

Seguridad

De forma predeterminada, solo los miembros del rol fijo de servidor sysadmin pueden crear pasos de trabajo CmdExec. Estos pasos de trabajo se ejecutan en el contexto de la cuenta de servicio de Agente SQL Server salvo que el usuario sysadmin cree una cuenta de proxy. Los usuarios que no sean miembros del rol sysadmin pueden crear pasos de trabajo CmdExec si disponen de acceso a la cuenta de proxy CmdExec.

Permisos

Para obtener información detallada, vea Implementar la seguridad del Agente SQL Server.

Uso de SQL Server Management Studio

Para crear un paso de trabajo de CmdExec

  1. En el Explorador de objetos , conéctese a una instancia de Motor de base de datos de SQL Servery, después, expándala.

  2. Expanda el Agente SQL Server, cree un trabajo o haga clic con el botón derecho en uno existente y, después, haga clic en Propiedades.

  3. En el cuadro de diálogo Propiedades del trabajo , haga clic en la página Pasos y, a continuación, haga clic en Nuevo.

  4. En el cuadro de diálogo Nuevo paso de trabajo , escriba un nombre para el paso de trabajo en Nombre del paso.

  5. En la lista Tipo , elija Sistema operativo (CmdExec) .

  6. En la lista Ejecutar como , seleccione la cuenta e proxy con las credenciales que utilizará el trabajo. De forma predeterminada, los pasos de trabajo de CmdExec se ejecutan en el contexto de la cuenta de servicio de Agente SQL Server.

  7. En el cuadro Procesar código de salida de un comando correcto , escriba un valor de 0 a 999999.

  8. En el cuadro Comando , escriba el comando del sistema operativo o el programa ejecutable. Vea "Usar T-Transact T-SQL" para obtener un ejemplo.

  9. Haga clic en la página Avanzadas para configurar las opciones del paso de trabajo como, por ejemplo: la acción que se realizará si el paso de trabajo es correcto o si es erróneo, el número de veces que Agente SQL Server intentará ejecutar el paso de trabajo y el archivo en el que Agente SQL Server puede escribir la salida del paso de trabajo. Solo los miembros del rol fijo de servidor sysadmin pueden escribir la salida de paso de trabajo en un archivo del sistema operativo.

Usar Transact-SQL

Para crear un paso de trabajo de CmdExec

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

    -- 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 más información, consulte sp_add_jobstep (Transact-SQL).

Usar Objetos de administración de SQL Server

Para crear un paso de trabajo de CmdExec

Use la clase JobStep mediante un lenguaje de programación de su elección, como Visual Basic, Visual C# o PowerShell.