Creación de un paso de trabajo cmdExec
se aplica a:SQL Server
azure 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
En Explorador de objetos, conecta a una instancia del motor de base de datos de SQL Server y, a continuación, expande esa instancia.
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.
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.
En el cuadro de diálogo Nuevo paso de trabajo, escriba un trabajo Nombre del paso.
En la lista Tipo, elija Sistema Operativo (CmdExec).
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.
En el cuadro Código de salida de proceso de un comando exitoso, escriba un valor de 0 a 999999.
En el cuadro Comando, escriba el comando del sistema operativo o el programa ejecutable. Consulte "Uso de Transact T-SQL para obtener un ejemplo.
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
En Explorador de objetos, conéctese a una instancia del motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
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.