Create an Analysis Services Job Step

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Importante

In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Istanza gestita di SQL di Azure da SQL Server.

Questo argomento descrive come creare e definire passaggi del processo di SQL Server Agent che eseguano comandi e query di SQL Server Analysis Services usando SQL Server Management Studio, Transact-SQL o SQL Server Management Objects.

Prima di iniziare

Limitazioni e restrizioni

  • 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. L'istruzione non può includere un elemento Envelope SOAP (Simple Object Access Protocol) completo o un metodo Discover di XML for Analysis. A differenza di SQL Server Management Studio, i passaggi di processo di SQL Server Agent non supportano le buste SOAP complete e il metodo Discover. Per altre informazioni su XML for Analysis Services, vedere Panoramica di XML for Analysis (XMLA).

  • Se il passaggio del processo utilizza una query di Analysis Services, l'istruzione della query deve essere una query di espressioni MDX. Per altre informazioni su MDX, vedere Elementi fondamentali dell'istruzione MDX (MDX).

Sicurezza

Autorizzazioni

  • 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. L'account del servizio SQL Server Agent o l'account proxy deve inoltre essere amministratore di Analysis Services, nonché un account di dominio Windows valido.

  • Solo i membri del ruolo predefinito del server sysadmin sono autorizzati a scrivere l'output di un passaggio del processo in un 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. SQL Server Agent scrive l'output del passaggio di processo nella tabella sysjobstepslog del database msdb.

  • Per informazioni dettagliate, vedere Implementazione della sicurezza di SQL Server Agent.

Utilizzo di SQL Server Management Studio

Per creare un passaggio di processo di un comando di Analysis Services

  1. In Esplora oggetti connettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  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à. Per altre informazioni sulla creazione di un processo, vedere Creazione di processi.

  3. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.

  4. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.

  5. Nell'elenco Tipo fare clic su Comando di SQL Server Analysis Services.

  6. Nell'elenco Esegui come selezionare un proxy definito per l'utilizzo del sottosistema Comando di Analysis Services. 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.

  7. Selezionare il Server in cui verrà eseguito il passaggio del processo oppure digitare il nome del server desiderato.

  8. Nella casella Comando immettere l'istruzione da eseguire oppure fare clic su Apri per selezionare l'istruzione desiderata.

  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 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.

Per creare un passaggio del processo di una query di Analysis Services

  1. In Esplora oggetti connettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  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à. Per altre informazioni sulla creazione di un processo, vedere Creazione di processi.

  3. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.

  4. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.

  5. Nell'elenco Tipo fare clic su Query di SQL Server Analysis Services.

  6. Nell'elenco Esegui come selezionare un proxy definito per l'utilizzo del sottosistema Query di Analysis Services. 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.

  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.

  8. Nella casella Comando immettere l'istruzione da eseguire oppure fare clic su Apri per selezionare l'istruzione desiderata.

  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 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.

Utilizzo di Transact-SQL

Per creare un passaggio di processo di un comando di Analysis Services

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    -- 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  
    

Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).

Per creare un passaggio del processo di una query di Analysis Services

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    -- 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  
    

Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).

Utilizzo di SQL Server Management Objects

Per creare un passaggio di processo di uno script di PowerShell

Usare la classe JobStep con un linguaggio di programmazione, come XMLA o MDX. Per altre informazioni, vedere SQL Server Management Objects (SMO).