Crear un paso de trabajo CmdExec

En este tema se explica cómo crear y definir un paso de trabajo del Agente SQL Server de Microsoft en SQL Server 2012 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.

En este tema

  • Antes de empezar:  

    Seguridad

  • Para crear un paso de trabajo de CmdExec, utilizando:

    SQL Server Management Studio

    Transact-SQL

    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.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar 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 Server y, después, expándala.

  2. Expanda el Agente SQL Server, cree un nuevo trabajo o haga clic con el botón secundario en uno existente y, a continuación, 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 del paso de trabajo en un archivo del sistema operativo.

Icono de flecha usado con el vínculo Volver al principio[Top]

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 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 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, vea sp_add_jobstep (Transact-SQL).

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar Objetos de administración de SQL Server

Para crear un paso de trabajo de CmdExec

Utilice la clase JobStep mediante un lenguaje de programación que elija, como Visual Basic, Visual C# o PowerShell. Para obtener más información, vea Objetos de administración de SQL Server (SMO).

Icono de flecha usado con el vínculo Volver al principio[Top]