Create an Analysis Services 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 Azure SQL Managed Instance y SQL Server para más información.

En este tema se describe cómo crear y definir los pasos de trabajo del Agente SQL Server en SQL Server que ejecutan comandos y consultas de SQL Server Analysis Services mediante SQL Server Management Studio, Transact-SQL u Objetos de administración de SQL Server.

Antes de empezar

Limitaciones y restricciones

  • Si el paso de trabajo utiliza un comando de Analysis Services, la instrucción de comando debe ser un método Execute de XML for Analysis Services. Puede que la instrucción no contenga un sobre SOAP (Protocolo simple de acceso a objetos) completo o un método Discover de XML for Analysis Services. Aunque SQL Server Management Studio admite envolturas SOAP completas y el método Discover, los pasos de trabajo del Agente SQL Server no lo hacen. Para más información sobre XML for Analysis Services, consulte Información general de XML for Analysis (XMLA).

  • Si el paso de trabajo utiliza una consulta de Analysis Services, la instrucción de consulta debe ser una consulta de expresiones multidimensionales (MDX). Para más información sobre MDX, consulte Aspectos básicos de la instrucción MDX (MDX).

Seguridad

Permisos

  • Para ejecutar un paso de trabajo que utilice el subsistema de Analysis Services, un usuario debe ser miembro del rol fijo de servidor sysadmin o tener acceso a una cuenta de proxy válida definida para utilizar este subsistema. Además, la cuenta de servicio o el proxy del Agente SQL Server deben ser un administrador de Analysis Services y una cuenta de dominio de Windows válida.

  • Los miembros del rol fijo de servidor sysadmin son los únicos que pueden escribir la salida de un paso de trabajo en un archivo. Si ejecutan el paso de trabajo usuarios miembros del rol de base de datos SQLAgentUserRole en la base de datos msdb , solo se podrá escribir la salida en una tabla. El Agente SQL Server escribe la salida del paso de trabajo en la tabla sysjobstepslog de la base de datos msdb.

  • 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 comando de Analysis Services

  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. Para más información sobre cómo crear un trabajo, consulte Crear trabajos.

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

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

  5. En la lista Tipo , haga clic en Comando de SQL Server Analysis Services.

  6. En la lista Ejecutar como , seleccione un proxy que se haya definido para utilizar el subsistema de comandos de Analysis Services. Los usuarios miembros del rol fijo de servidor sysadmin también pueden seleccionar Cuenta del servicio del Agente SQL para ejecutar este paso de trabajo.

  7. Seleccione el Servidor en el que se ejecutará el paso de trabajo o escriba su nombre.

  8. En el cuadro Comando , escriba la instrucción que se debe ejecutar o haga clic en Abrir para seleccionar una instrucción.

  9. Haga clic en la página Avanzadas para definir opciones para este paso de trabajo, como la acción que debe realizar el Agente SQL Server si el paso de trabajo se realiza correctamente o con errores, las veces que se debe intentar ejecutar el paso de trabajo y el lugar en el que se debe escribir la salida.

Para crear un paso de trabajo de consulta de Analysis Services

  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. Para más información sobre cómo crear un trabajo, consulte Crear trabajos.

  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 , haga clic en Consulta de SQL Server Analysis Services.

  6. En la lista Ejecutar como , seleccione un proxy que se haya definido para utilizar el subsistema de consultas de Analysis Services. Los usuarios miembros del rol fijo de servidor sysadmin también pueden seleccionar Cuenta del servicio del Agente SQL para ejecutar este paso de trabajo.

  7. Seleccione el Servidor y la Base de datos en los que se ejecutará el paso de trabajo o escriba sus nombres.

  8. En el cuadro Comando , escriba la instrucción que se debe ejecutar o haga clic en Abrir para seleccionar una instrucción.

  9. Haga clic en la página Avanzadas para definir opciones para este paso de trabajo, como la acción que debe realizar el Agente SQL Server si el paso de trabajo se realiza correctamente o con errores, las veces que se debe intentar ejecutar el paso de trabajo y el lugar en el que se debe escribir la salida.

Usar Transact-SQL

Para crear un paso de trabajo de comando de Analysis Services

  1. En el Explorador de objetos, conéctese a una instancia de 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 XMLA to create a relational data source that
    -- references the AdventureWorks2022 Microsoft SQL Server database.  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name =
            N'Create a relational data source that references the AdventureWorks2022 Microsoft SQL Server database',  
        @subsystem = N'ANALYSISCOMMAND',  
        @command =
            N' <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
        <ParentObject>  
            <DatabaseID>AdventureWorks2022</DatabaseID>  
        </ParentObject>  
        <ObjectDefinition>  
            <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:type="RelationalDataSource">  
                <ID>AdventureWorks2022</ID>  
                <Name>Adventure Works 2022</Name>  
                <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2022;Integrated Security=True</ConnectionString>  
                <ImpersonationInfo>  
                    <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>  
                </ImpersonationInfo>  
                <ManagedProvider>System.Data.SqlClient</ManagedProvider>  
                <Timeout>PT0S</Timeout>  
            </DataSource>  
        </ObjectDefinition>  
    </Create>', ;  
    GO  
    

Para más información, consulte sp_add_jobstep (Transact-SQL).

Para crear un paso de trabajo de consulta de Analysis Services

  1. En el Explorador de objetos, conéctese a una instancia de 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 MDX to return data  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Returns the Internet sales amount by state',  
        @subsystem = N'ANALYSISQUERY',  
        @command = N' SELECT  
       [Measures].[Internet Sales Amount] ON COLUMNS,  
       [Customer].[State-Province].Members ON ROWS  
    FROM [AdventureWorks2022]',   
        @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 para script de PowerShell

Utilice la clase JobStep con un lenguaje de programación de su elección, por ejemplo, XMLA o MDX. Para más información, consulte Objetos de administración de SQL Server (SMO).