Gestionar los pasos del trabajo
se aplica a:SQL Server
azure SQL Managed Instance
Importante
En Instancia administrada de Azure SQL, actualmente se admite la mayoría de las características del Agente de SQL Server, pero no todas. Consulte diferencias de T-SQL de Azure SQL Managed Instance con respecto a SQL Server para más información.
Un paso de trabajo es una acción que el trabajo realiza en una base de datos o en un servidor. Cada trabajo debe tener al menos un paso de trabajo. Los pasos del trabajo pueden ser:
Programas ejecutables y comandos del sistema operativo.
Transact-SQL declaraciones, incluidos los procedimientos almacenados y los procedimientos almacenados extendidos.
Scripts de PowerShell.
Scripts de Microsoft ActiveX.
Tareas de replicación.
Tareas de Analysis Services.
Paquetes de Integration Services.
Cada paso de trabajo se ejecuta en un contexto de seguridad específico. Si el paso de trabajo especifica un proxy, el paso de trabajo se ejecuta en el contexto de seguridad de la credencial para el proxy. Si un paso de trabajo no especifica un proxy, el paso de trabajo se ejecuta en el contexto de la cuenta de servicio del Agente SQL Server. Solo los miembros del rol fijo de servidor sysadmin pueden crear trabajos que no especifiquen explícitamente un proxy.
Dado que los pasos de trabajo se ejecutan en el contexto de un usuario específico de Microsoft Windows, ese usuario debe tener los permisos y la configuración necesarios para que se ejecute el paso de trabajo. Por ejemplo, si crea un trabajo que requiere una letra de unidad o una ruta de acceso con la convención de nomenclatura universal (UNC), los pasos del trabajo pueden ejecutarse en su cuenta de usuario de Windows mientras se realizan las pruebas de las tareas. Sin embargo, el usuario de Windows para el paso de trabajo también debe tener los permisos necesarios, las configuraciones de letra de unidad o el acceso a la unidad necesaria. De lo contrario, se produce un error en el paso de trabajo. Para evitar este problema, asegúrate de que el proxy de cada etapa de trabajo tenga los permisos necesarios para la tarea que realiza dicha etapa. Para obtener más información, consulte Seguridad y Protección (Motor de Base de Datos).
Registros de pasos de trabajo
El Agente SQL Server puede escribir resultados de algunos pasos de trabajo en un archivo del sistema operativo o en la tabla sysjobstepslogs de la base de datos msdb. Los siguientes tipos de pasos de trabajo pueden escribir la salida en ambos destinos:
Programas ejecutables y comandos del sistema operativo.
Transact-SQL instrucciones.
Tareas de Analysis Services.
Solo los pasos de trabajo ejecutados por los usuarios que son miembros del rol fijo de servidor sysadmin pueden escribir la salida del paso de trabajo en los archivos del sistema operativo. Si los pasos de trabajo son ejecutados por usuarios que son miembros de los roles fijos de base de datos SQLAgentUserRole, SQLAgentReaderRole o SQLAgentOperatorRole en la base de datos msdb, entonces la salida de estos pasos de trabajo solo se puede escribir en la tabla sysjobstepslogs.
Los registros de pasos de trabajo se eliminan automáticamente cuando se eliminan los trabajos o los pasos de trabajo.
Nota
La tarea de replicación y el registro de las etapas del trabajo del paquete de Integration Services se gestionan mediante sus respectivos subsistemas. No puede usar el Agente SQL Server para configurar el registro de pasos de trabajo para este tipo de pasos de trabajo.
Programas ejecutables y comandos de Operating-System como pasos de trabajo
Los programas ejecutables y los comandos del sistema operativo se pueden usar como pasos de trabajo. Estos archivos pueden tener extensiones de archivo .bat, .cmd, .com o .exe.
Cuando se usa un programa ejecutable o un comando del sistema operativo como paso de trabajo, debe especificar:
El código de salida del proceso que se devuelve si el comando se ha ejecutado correctamente.
Comando que se va a ejecutar. Para ejecutar un comando del sistema operativo, basta con el comando en sí. Para un programa externo, este es el nombre del programa y los argumentos del programa, por ejemplo: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe -e -q "sp_who"
Nota
Debe proporcionar la ruta de acceso completa al archivo ejecutable si este no se encuentra en un directorio especificado en la ruta de acceso del sistema o en la ruta de acceso para el usuario bajo cuya cuenta se ejecuta el paso de trabajo.
Pasos de trabajo Transact-SQL
Al crear un paso de trabajo de Transact-SQL, debe:
Identifique la base de datos en la que se va a ejecutar el trabajo.
Escriba la instrucción Transact-SQL para ejecutar. La instrucción puede invocar un procedimiento almacenado o un procedimiento almacenado de extensión.
Opcionalmente, puede abrir un archivo Transact-SQL existente como comando para el paso de trabajo.
Los trabajos de Transact-SQL no usan proxies del Agente de SQL Server. En su lugar, el paso de trabajo se ejecuta como propietario del paso de trabajo o como cuenta de servicio del Agente SQL Server si el propietario del paso de trabajo es miembro del rol fijo de servidor sysadmin. Los miembros del rol fijo de servidor sysadmin también pueden especificar que las etapas de trabajo Transact-SQL se ejecuten en el contexto de otro usuario mediante el parámetro database_user_name del procedimiento almacenado sp_add_jobstep. Para obtener más información, vea sp_add_jobstep (Transact-SQL).
Nota
Un solo paso de trabajo de Transact-SQL puede contener varios lotes. Los pasos de trabajo de Transact-SQL pueden contener comandos GO incrustados.
Pasos del trabajo de scripting de PowerShell
Al crear un paso de trabajo de script de PowerShell, debe especificar una de estas dos cosas como comando para el paso:
Texto de un script de PowerShell.
Un archivo de script de PowerShell existente que se va a abrir.
El subsistema PowerShell del Agente de SQL Server abre una sesión de PowerShell y carga los complementos de SQL Server PowerShell. El script de PowerShell utilizado como comando de paso de trabajo puede referirse al proveedor y a los cmdlets de SQL Server PowerShell. Para obtener más información sobre cómo escribir scripts de PowerShell usando los complementos de SQL Server PowerShell, consulte el SQL Server PowerShell.
Etapas del trabajo de scripting de ActiveX
Importante
El paso de trabajo de scripting ActiveX se quitará del Agente SQL Server en una versión futura de Microsoft SQL Server. Evite usar esta característica en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que actualmente usan esta característica.
Al crear un paso de trabajo de scripting ActiveX, debe:
Identifique el lenguaje de scripting en el que se escribe el paso de trabajo.
Escriba el script ActiveX.
También puede abrir un archivo de script ActiveX existente como comando para el paso de trabajo. Como alternativa, los comandos de script ActiveX se pueden compilar externamente (por ejemplo, mediante Microsoft Visual Basic) y luego ejecutarse como programas ejecutables.
Cuando un comando de paso de trabajo es un script ActiveX, puede usar el objeto SQLActiveScriptHost para imprimir la salida en el registro histórico del paso de trabajo o crear objetos COM. SQLActiveScriptHost es un objeto global que es introducido por el sistema de alojamiento del Agente de SQL Server en el espacio de nombres del script. El objeto tiene dos métodos (Print y CreateObject). En el ejemplo siguiente se muestra cómo funciona el scripting ActiveX en Visual Basic Scripting Edition (VBScript).
' VBScript example for ActiveX Scripting job step
' Create a Dmo.Server object. The object connects to the
' server on which the script is running.
Set oServer = CreateObject("SQLDmo.SqlServer")
oServer.LoginSecure = True
oServer.Connect "(local)"
'Disconnect and destroy the server object
oServer.DisConnect
Set oServer = nothing
Pasos del trabajo de replicación
Al crear publicaciones y suscripciones mediante la replicación, los trabajos de replicación se crean de forma predeterminada. El tipo de trabajo creado viene determinado por el tipo de replicación (instantánea, transaccional o combinación) y las opciones usadas.
Los pasos del trabajo de replicación activan uno de estos agentes de replicación:
Agente de instantáneas (trabajo de instantánea)
Agente de lectura de registros (trabajo de Log Reader)
Agente de distribución (trabajo de distribución)
Agente de mezcla (trabajo de mezcla)
Agente de lectura de cola (trabajo QueueReader)
Cuando se configura la replicación, puede especificar que ejecute los agentes de replicación de una de estas tres maneras: continuamente después de iniciar el Agente SQL Server, a petición o según una programación. Para obtener más información sobre los agentes de replicación, consulte Replication Agents Overview.
Pasos del trabajo de Analysis Services
El Agente SQL Server admite dos tipos distintos de pasos de trabajo de Analysis Services, pasos de trabajo de comandos y pasos de trabajo de consulta.
Pasos de comando para Analysis Services
Al crear un paso de trabajo de comando de Analysis Services, debe hacer lo siguiente:
Identifique el servidor OLAP de base de datos en el que se va a ejecutar el paso de trabajo.
Escriba la instrucción para ejecutar. La instrucción debe ser un método XML for Analysis Services Execute. Es posible que la instrucción no contenga un sobre SOAP completo o un XML para el método Discover de Analysis Services . Tenga en cuenta que, aunque SQL Server Management Studio admite sobres SOAP completos y el método Discover, los pasos de trabajo del Agente SQL Server no lo hacen.
Pasos de la tarea de consulta de Analysis Services
Al crear un paso de trabajo de consulta en Analysis Services, debe:
Identifique el servidor OLAP de base de datos en el que se va a ejecutar el paso de trabajo.
Escriba la instrucción para ejecutar. La instrucción debe ser una consulta de expresiones multidimensionales (MDX).
Para obtener más información sobre MDX, vea aspectos básicos de la instrucción MDX (MDX).
Paquetes de Integration Services
Al crear un paso de trabajo de un paquete de Integration Services, debe hacer lo siguiente:
Identifique el origen del paquete.
Identifique la ubicación del paquete.
Si los archivos de configuración son necesarios para el paquete, identifique los archivos de configuración.
Si los archivos de comandos son necesarios para el paquete, identifique los archivos de comandos.
Identifique la comprobación que se va a usar para el paquete. Por ejemplo, puede especificar que el paquete debe estar firmado o que el paquete debe tener un identificador de paquete específico.
Identifique los orígenes de datos del paquete.
Identifique los proveedores de registro del paquete.
Especifique variables y valores que se van a establecer antes de ejecutar el paquete.
Identifique las opciones de ejecución.
Agregue o modifique las opciones de línea de comandos.
Tenga en cuenta que si ha implementado el paquete en el catálogo de SSIS y especifica catálogo de SSIS como origen del paquete, gran parte de esta información de configuración se obtiene automáticamente del paquete. En la pestaña configuración de puede especificar el entorno, los valores de parámetro, los valores del administrador de conexiones, las invalidaciones de propiedad y si el paquete se ejecuta en un entorno de tiempo de ejecución de 32 bits.
Para obtener más información sobre cómo crear pasos de trabajo que ejecutan paquetes de Integration Services, consulte trabajos del Agente SQL Server para paquetes.
Tareas relacionadas
Descripción | Tema |
---|---|
Describe cómo crear un paso de trabajo con un programa ejecutable. | Crear un paso de trabajo de CmdExec |
Describe cómo restablecer los permisos del Agente SQL Server. | Configurar un usuario para crear y administrar trabajos del Agente SQL Server |
Describe cómo crear un paso de trabajo de Transact-SQL. | Crear un paso de trabajo Transact-SQL |
Describen cómo definir las opciones para los pasos de trabajo del Agente de Microsoft SQL Server Transact-SQL. | definir opciones de paso de trabajo de Transact-SQL |
Describe los pasos para crear un paso de trabajo de un script de ActiveX. | Crear un Paso de Trabajo de Script ActiveX |
Describe cómo crear y definir pasos de trabajo del Agente SQL Server que ejecutan comandos y consultas de SQL Server Analysis Services. | Crear un paso de trabajo de Analysis Services |
Describe qué acción debe realizar SQL Server si se produce un error durante la ejecución del trabajo. | Establecer flujo de éxito o error en el paso del trabajo |
Describe cómo ver los detalles del paso de trabajo en el cuadro de diálogo Propiedades del paso de trabajo. | Ver la Información del Paso de Trabajo |
Describe cómo eliminar un registro de pasos de trabajo del Agente SQL Server. | eliminar un registro de pasos de trabajo |
Consulte también
sysjobstepslogs (Transact-SQL)
crear trabajos
sp_add_job (Transact-SQL)