Compartir vía


Creación de un paso de trabajo cmdExec

se aplica a:SQL Serverazure SQL Managed Instance

Importante

En Instancia Administrada de Azure SQL, la mayoría, pero no todas, de las funcionalidades del Agente SQL Server están actualmente admitidas. Consulte diferencias de T-SQL de Azure SQL Managed Instance con respecto a SQL Server para más información.

En este tema se describe cómo crear y definir un paso de trabajo del Agente SQL Server de Microsoft en SQL Server que usa un programa ejecutable o un comando del sistema operativo mediante SQL Server Management Studio, Transact-SQL o 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 del Agente SQL Server a menos que el sysadmin usuario cree una cuenta de proxy. Los usuarios que no son miembros del rol de sysadmin pueden crear pasos de trabajo CmdExec si tienen acceso a una cuenta de proxy CmdExec.

Permisos

Para obtener información detallada, consulte Implementación de la seguridad del Agente SQL Server.

Uso de SQL Server Management Studio

Para crear un paso de trabajo de CmdExec

  1. En Explorador de objetos, conecta a una instancia del motor de base de datos de SQL Server y, a continuación, expande esa instancia.

  2. Expanda Agente SQL Server, cree una nueva tarea o haga clic con el botón derecho en una tarea existente, luego haga clic en Propiedades.

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

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

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

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

  7. En el cuadro Código de salida de proceso de un comando exitoso, escriba un valor de 0 a 999999.

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

  9. Haga clic en la página Avanzadas para establecer opciones de paso de trabajo, como: qué acción realizar si el paso de trabajo se realiza correctamente o produce un error, cuántas veces el Agente SQL Server debe intentar ejecutar el paso de trabajo y el archivo donde el Agente SQL Server puede escribir la salida del paso de trabajo. Solo los miembros del rol de servidor fijo sysadmin pueden escribir la salida de la etapa de trabajo en un archivo de sistema operativo.

Uso de Transact-SQL

Para crear un paso de trabajo de CmdExec

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

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

  3. Copie y pegue el ejemplo siguiente 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 obtener más información, consulte sp_add_jobstep (Transact-SQL)

Uso de objetos de administración de SQL Server

Para crear un paso de trabajo CmdExec

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