Condividi tramite


Creare un passaggio di processo di Analysis Services

In questo argomento viene descritto come creare e definire passaggi del processo di SQL Server Agent in SQL Server 2012 che consentono di eseguire comandi e query di SQL Server Analysis Services utilizzando SQL Server Management Studio, Transact-SQL o SQL Server Management Objects.

  • Prima di iniziare:  

    Limitazioni e restrizioni

    Sicurezza

  • Per creare i passaggi di un processo di SQL Server utilizzando i comandi e/o le query di Analysis Services con:

    SQL Server Management Studio

    Transact-SQL

    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 ulteriori 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 ulteriori informazioni su MDX, vedere Nozioni fondamentali sulle query MDX (Analysis Services).

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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

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 quindi espandere tale istanza.

  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 ulteriori informazioni sulla creazione di un processo, vedere Crea 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 SQL Server Agent dovrà eseguire 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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

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 ed espandere tale istanza.

  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 ulteriori informazioni sulla creazione di un processo, vedere Crea 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 SQL Server Agent dovrà eseguire 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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

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 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="https://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 ulteriori informazioni, vedere sp_add_jobstep (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

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

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

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di SQL Server Management Objects

Per creare un passaggio di processo di uno script di PowerShell

Utilizzare la classe JobStep tramite un linguaggio di programmazione, come XMLA o MDX. Per ulteriori informazioni, vedere SMO (SQL Server Management Objects).

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]