Create an Analysis Services Job StepCreate an Analysis Services Job Step

In questo argomento viene descritto come creare e definire passaggi del processo di SQL ServerSQL Server Agent in SQL Server 2017SQL Server 2017 che consentono di eseguire comandi e query di SQL ServerSQL Server Analysis Services utilizzando SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL o SQL Server Management Objects.This topic describes how to create and define SQL ServerSQL Server Agent job steps in SQL Server 2017SQL Server 2017 that execute SQL ServerSQL Server Analysis Services commands and queries by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL or SQL Server Management Objects.

Prima di iniziareBefore You Begin

Limitazioni e restrizioniLimitations and Restrictions

  • Se il passaggio del processo utilizza un comando di Analysis Services, l'istruzione del comando deve essere un metodo Execute di Servizi di XML for Analysis Services.If the job step uses an Analysis Services command, the command statement must be an XML for Analysis Services Execute method. L'istruzione non può includere un elemento Envelope SOAP (Simple Object Access Protocol) completo o un metodo Discover di XML for Analysis.The statement may not contain a complete Simple Object Access Protocol (SOAP) envelope or an XML for Analysis Discover method. A differenza di SQL Server Management StudioSQL Server Management Studio , i passaggi di processo di Agent non supportano le buste SOAP complete e il metodo Discover SQL ServerSQL Server .While SQL Server Management StudioSQL Server Management Studio supports complete SOAP envelopes and the Discover method, SQL ServerSQL Server Agent job steps do not. Per altre informazioni su XML for Analysis Services, vedere Panoramica di XML for Analysis (XMLA).For more information about XML for Analysis Services, see XML for Analysis Overview (XMLA).

  • Se il passaggio del processo utilizza una query di Analysis Services, l'istruzione della query deve essere una query di espressioni MDX.If the job step uses an Analysis Services query, the query statement must be a multidimensional expressions (MDX) query. Per altre informazioni su MDX, vedere Elementi fondamentali dell'istruzione MDX (MDX).For more information about MDX, see MDX Statement Fundamentals (MDX).

SecuritySecurity

PermissionsPermissions

  • Per eseguire un passaggio di processo in cui viene utilizzato il sottosistema Analysis Services, è necessario che l'utente sia membro del ruolo predefinito del server sysadmin o che sia autorizzato ad accedere a un account proxy valido definito per l'utilizzo di questo sottosistema.To run a job step that uses the Analysis Services subsystem, a user must be a member of the sysadmin fixed server role or have access to a valid proxy account defined to use this subsystem. L'account del servizio SQL ServerSQL Server Agent o l'account proxy deve inoltre essere amministratore di Analysis Services, nonché un account di dominio Windows valido.In addition, the SQL ServerSQL Server Agent service account or the proxy must be an Analysis Services administrator and a valid Windows domain account.

  • Solo i membri del ruolo predefinito del server sysadmin sono autorizzati a scrivere l'output di un passaggio del processo in un file.Only members of the sysadmin fixed server role can write job step output to a file. Se il passaggio del processo viene eseguito da utenti appartenenti al ruolo di database SQLAgentUserRole nel database msdb , sarà possibile scrivere l'output solo in una tabella.If the job step is run by users who are members of the SQLAgentUserRole database role in the msdb database, then the output can be written only to a table. SQL ServerSQL Server Agent viene scritto l'output del passaggio di processo nella tabella sysjobstepslog del database msdb . Agent writes job step output to the sysjobstepslog table in the msdb database.

  • Per informazioni dettagliate, vedere Implement SQL Server Agent Security.For detailed information, see Implement SQL Server Agent Security.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

Per creare un passaggio di processo di un comando di Analysis ServicesTo create an Analysis Services command job step

  1. In Esplora oggetti connettersi a un'istanza del Motore di database di SQL ServerSQL Server Database Engineed espandere tale istanza.In Object Explorer, connect to an instance of the Motore di database di SQL ServerSQL Server Database Engine, and then expand that instance.

  2. Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere Proprietà.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties. Per altre informazioni sulla creazione di un processo, vedere Creazione di processi.For more information on creating a job, see Create Jobs.

  3. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.In the Job Properties dialog box, click the Steps page, and then click New.

  4. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.In the New Job Step dialog box, type a job Step name.

  5. Nell'elenco Tipo fare clic su Comando di SQL Server Analysis Services.In the Type list, click SQL Server Analysis Services Command.

  6. Nell'elenco Esegui come selezionare un proxy definito per l'utilizzo del sottosistema Comando di Analysis Services.In the Run as list, select a proxy that has been defined to use the Analysis Services Command subsystem. Un utente membro del ruolo predefinito del server sysadmin è inoltre autorizzato a selezionare Account del servizio SQL Server Agent per l'esecuzione di questo passaggio del processo.A user who is a member of the sysadmin fixed server role can also select SQL Agent Service Account to run this job step.

  7. Selezionare il Server in cui verrà eseguito il passaggio del processo oppure digitare il nome del server desiderato.Select the Server where the job step will run, or type the server name.

  8. Nella casella Comando immettere l'istruzione da eseguire oppure fare clic su Apri per selezionare l'istruzione desiderata.In the Command box, type the statement to execute, or click Open to select a statement.

  9. Fare clic sulla pagina Avanzate per definire le opzioni relative al passaggio del processo, ad esempio l'azione che dovrà essere eseguita da SQL ServerSQL Server Agent in caso di esito positivo o negativo del passaggio del processo, il numero di tentativi di esecuzione del passaggio del processo e il percorso in cui scrivere l'output del passaggio del processo.Click the Advanced page to define options for this job step, such as what action SQL ServerSQL Server Agent should take if the job step succeeds or fails, how many times the job step should be attempted, and where the job step output should be written.

Per creare un passaggio del processo di una query di Analysis ServicesTo create an Analysis Services query job step

  1. In Esplora oggetti connettersi a un'istanza del Motore di database di SQL ServerSQL Server Database Engineed espandere tale istanza.In Object Explorer, connect to an instance of the Motore di database di SQL ServerSQL Server Database Engine, and then expand that instance.

  2. Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere Proprietà.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties. Per altre informazioni sulla creazione di un processo, vedere Creazione di processi.For more information on creating a job, see Create Jobs.

  3. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.In the Job Properties dialog, click the Steps page, and then click New.

  4. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.In the New Job Step dialog, type a job Step name.

  5. Nell'elenco Tipo fare clic su Query di SQL Server Analysis Services.In the Type list, click SQL Server Analysis Services Query.

  6. Nell'elenco Esegui come selezionare un proxy definito per l'utilizzo del sottosistema Query di Analysis Services.In the Run as list, select a proxy that has been defined to use the Analysis Services Query subsystem. Un utente membro del ruolo predefinito del server sysadmin è inoltre autorizzato a selezionare Account del servizio SQL Server Agent per l'esecuzione di questo passaggio del processo.A user who is a member of the sysadmin fixed server role can also select SQL Agent Service Account to run this job step.

  7. Selezionare il Server e il Database in cui verrà eseguito il passaggio del processo oppure digitare il nome del server o del database desiderato.Select the Server and the Database where the job step will run, or type the server or database name.

  8. Nella casella Comando immettere l'istruzione da eseguire oppure fare clic su Apri per selezionare l'istruzione desiderata.In the Command box, type the statement to execute, or click Open to select a statement.

  9. Fare clic sulla pagina Avanzate per definire le opzioni relative al passaggio del processo, ad esempio l'azione che dovrà essere eseguita da SQL ServerSQL Server Agent in caso di esito positivo o negativo del passaggio del processo, il numero di tentativi di esecuzione del passaggio del processo e il percorso in cui scrivere l'output del passaggio del processo.Click the Advanced page to define options for this job step, such as what action SQL ServerSQL Server Agent should take if the job step succeeds or fails, how many times the job step should be attempted, and where the job step output should be written.

Utilizzo di Transact-SQLUsing Transact-SQL

Per creare un passaggio di processo di un comando di Analysis ServicesTo create an Analysis Services command job step

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    -- Creates a job step that uses XMLA to create a relational data source that
    -- references the AdventureWorks2012 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 AdventureWorks2012 Microsoft SQL Server database',  
        @subsystem = N'ANALYSISCOMMAND',  
        @command =
            N' <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
        <ParentObject>  
            <DatabaseID>AdventureWorks2012</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>AdventureWorks2012</ID>  
                <Name>Adventure Works 2012</Name>  
                <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2012;Integrated Security=True</ConnectionString>  
                <ImpersonationInfo>  
                    <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>  
                </ImpersonationInfo>  
                <ManagedProvider>System.Data.SqlClient</ManagedProvider>  
                <Timeout>PT0S</Timeout>  
            </DataSource>  
        </ObjectDefinition>  
    </Create>', ;  
    GO  
    

Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).For more information, see sp_add_jobstep (Transact-SQL).

Per creare un passaggio del processo di una query di Analysis ServicesTo create an Analysis Services query job step

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    -- 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 [AdventureWorks2012]',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).For more information, see sp_add_jobstep (Transact-SQL).

Utilizzo di SQL Server Management ObjectsUsing SQL Server Management Objects

Per creare un passaggio di processo di uno script di PowerShellTo create a PowerShell Script job step

Usare la classe JobStep con un linguaggio di programmazione, come XMLA o MDX.Use the JobStep class by using a programming language that you choose, such as XMLA or MDX. Per altre informazioni, vedere SQL Server Management Objects (SMO).For more information, see SQL Server Management Objects (SMO).