Pianificare attività amministrative SSAS con SQL Server Agent

Si applica a: SQL Server Analysis Services Azure Analysis Services Power BI Premium

Usando il servizio SQL Server Agent, è possibile pianificare l'esecuzione delle attività amministrative di Analysis Services nell'ordine e agli orari necessari. Le attività pianificate consentono di automatizzare processi eseguiti in cicli regolari o prevedibili. È possibile pianificare l'esecuzione di attività amministrative, ad esempio l'elaborazione di cubi, nei periodi in cui l'attività aziendale è ridotta. È inoltre possibile determinare l'ordine di esecuzione delle attività creando passaggi di processo in un processo di SQL Server Agent. È possibile ad esempio elaborare un cubo ed eseguirne quindi un backup.

I passaggi di processo consentono di controllare il flusso dell'esecuzione. Se uno dei processi ha esito negativo, è possibile configurare SQL Server Agent per continuare a eseguire le attività rimanenti o per arrestare l'esecuzione. È inoltre possibile configurare SQL Server Agent per l'invio di notifiche relative all'esito positivo o negativo dell'esecuzione di un processo.

In questo argomento è disponibile una procedura dettagliata che illustra due modalità di utilizzo di SQL Server Agent per eseguire script XMLA. Nel primo esempio viene dimostrato come pianificare l'elaborazione di una singola dimensione. Nel secondo esempio viene illustrato come combinare attività di elaborazione in uno singolo script eseguito in una pianificazione. Per completare la procedura dettagliata, è necessario soddisfare i requisiti riportati di seguito.

Prerequisiti

È necessario che il servizio SQL Server Agent sia installato.

Per impostazione predefinita, i processi vengono eseguiti con l'account del servizio. L'account predefinito per SQL Server agent è NT Service\SQLAgent$ <instancename> . Per eseguire un backup o un'attività di elaborazione, è necessario utilizzare un account amministratore di sistema nell'istanza di Analysis Services. Per altre informazioni, vedere Concedere i diritti di amministratore del server a un Analysis Services istanza di.

È consigliabile utilizzare un database di test. È possibile distribuire il database di esempio multidimensionale AdventureWorks o un progetto dell'esercitazione multidimensionale di Analysis Services da utilizzare in questa procedura dettagliata. Per altre informazioni, vedere Installare dati di esempio e progetti per l'esercitazione di modellazione multidimensionale di Analysis Services.

Esempio 1: Elaborazione di una dimensione in un'attività pianificata

In questo esempio viene illustrato come creare e pianificare un processo che elabora una dimensione.

Un'attività pianificata di Analysis Services è uno script XMLA incorporato in un processo di SQL Server Agent. L'esecuzione di questo processo è pianificata per l'esecuzione negli orari e con la frequenza desiderati. Poiché SQL Server Agent è un componente di SQL Server, per la creazione e la pianificazione di un'attività amministrativa verranno utilizzati sia il Motore di database che Analysis Services .

Creare uno script per l'elaborazione di una dimensione in un processo SQL Server Agent

  1. In SQL Server Management Studioconnettersi a Analysis Services. Aprire una cartella di database e individuare una dimensione. Fare clic con il pulsante destro del mouse sulla dimensione e scegliere Elabora.

  2. Nella finestra di dialogo di elaborazione, in Elenco oggetti verificare che l’opzione per la colonna Opzioni elaborazione sia Elaborazione completa. In caso contrario, in Opzioni elaborazione fare clic sull'opzione e quindi selezionare Elaborazione completa nell'elenco a discesa.

  3. Fare clic su Script.

    Questo passaggio apre una finestra Query XML contenente lo script XMLA che elabora la dimensione.

  4. Nella finestra di dialogo Elaborazione dimensione fare clic su Annulla per chiudere la finestra di dialogo.

  5. Nella finestra Query XMLA selezionare lo script XMLA, fare clic con il pulsante destro del mouse su tale script e scegliere Copia.

    In questo passaggio lo script XMLA viene copiato negli Appunti di Windows. È possibile lasciare lo script XMLA negli Appunti o incollarlo nel Blocco note o un altro editor di testo. Di seguito è riportato un esempio di script XMLA.

    <Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
     <Parallel>  
      <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <DimensionID>Dim Account</DimensionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
     </Parallel>  
    </Batch>  
    

Creare e pianificare il processo di elaborazione delle dimensioni

  1. Connettersi a un'istanza del motore di database e quindi aprire Esplora oggetti.

  2. Espandere SQL Server Agent.

  3. Fare clic con il pulsante destro del mouse su Processi e selezionare Nuovo processo.

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

  5. In Selezione pagina selezionare Passaggi e quindi fare clic su Nuovo.

  6. Nella finestra di dialogo Nuovo passaggio di processo immettere il nome del passaggio nella casella Nome passaggio.

  7. In Server digitare localhost per un'istanza predefinita di Analysis Services e localhost \ per <instance name> un'istanza denominata.

    Se si eseguirà il processo da un computer remoto, utilizzare il nome del server e il nome dell'istanza in cui il processo verrà eseguito. Usare il formato <server name> per un'istanza predefinita e il nome <server name> \ < dell'> per un'istanza denominata.

  8. In Tipo selezionare Comando di SQL Server Analysis Services.

  9. In Comando fare clic con il pulsante destro del mouse e scegliere Incolla. Lo script XMLA generato nel passaggio precedente verrà visualizzato nella finestra di comando.

  10. Fare clic su OK.

  11. In Selezione pagina fare clic su Pianificazioni e quindi su Nuovo.

  12. Nella finestra di dialogo Nuova pianificazione processo immettere il nome della pianificazione nella casella Nome e fare clic su OK.

    In questo passaggio viene creata una pianificazione per domenica alle 12.00 AM. Nel passaggio successivo verrà illustrato come eseguire manualmente il processo. È inoltre possibile specificare una pianificazione che esegue il processo mentre viene monitorato.

  13. Nella finestra di dialogo Nuovo processo fare clic su OK.

  14. In Esplora oggetti espandere Processi, fare clic con il pulsante destro del mouse sul processo creato e quindi selezionare Inizia processo al passaggio.

    Poiché il processo include un solo passaggio, verrà eseguito immediatamente. Se il processo è costituito da più di un passaggio, è possibile selezionare quello da cui dovrà iniziare il processo.

  15. Al termine del processo fare clic su Chiudi.

Esempio 2: Elaborazione batch di una dimensione e una partizione in un'attività pianificata

Le procedure in questo esempio dimostrano come creare e pianificare un processo per l'elaborazione batch di una dimensione database di Analysis Services e contemporaneamente per l'elaborazione di una partizione del cubo che dipende dalla dimensione per l'aggregazione. Per altre informazioni sull'elaborazione batch di oggetti di Analysis Services, vedere Elaborazione batch (Analysis Services).

Creare uno script per l'elaborazione batch di una dimensione e una partizione in un processo SQL Server Agent

  1. Usando lo stesso database, espandere Dimensioni, fare clic con il pulsante destro del mouse sulla dimensione Customer e scegliere Elabora.

  2. Nella finestra di dialogo Elaborazione dimensione , nella colonna Opzioni elaborazione di Elenco oggetti, verificare che l'opzione per la colonna sia Elaborazione completa.

  3. Fare clic su Script.

    Questo passaggio apre una finestra Query XML contenente lo script XMLA che elabora la dimensione.

  4. Nella finestra di dialogo Elaborazione dimensione fare clic su Annulla per chiudere la finestra di dialogo.

  5. Espandere Cubi, Adventure Works, Gruppi di misure, Internet Sales e Partizioni, fare clic con il pulsante destro del mouse sull'ultima partizione nell'elenco e quindi scegliere Elabora.

  6. Nella finestra di dialogo Elaborazione partizione , nella colonna Opzioni elaborazione di Elenco oggetti, verificare che l'opzione per la colonna sia Elaborazione completa.

  7. Fare clic su Script.

    Questo passaggio apre una seconda finestra Query XML contenente lo script XMLA che elabora la partizione.

  8. Nella finestra di dialogo Elabora partizione fare clic su Annulla per chiudere l'editor.

    In questa fase è necessario unire i due script e assicurarsi che la dimensione venga elaborata per prima.

    Avviso

    Se la partizione viene elaborata per prima, la successiva elaborazione della dimensione farà sì che la partizione rimanga in uno stato non elaborato. La partizione richiederebbe quindi una seconda elaborazione per raggiungere uno stato elaborato.

  9. Nella finestra Query XMLA contenente lo script XMLA che elabora la partizione selezionare il codice all'interno dei tag Batch e Parallel , fare clic con il pulsante destro del mouse su tale script e scegliere Copia.

    <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID> Adventure Works DW Multidimensional</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID> Internet_Sales_2004</PartitionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
    
  10. Aprire la finestra Query XMLA contenente lo script XMLA che elabora la dimensione. Fare clic con il pulsante destro del mouse all'interno dello script a sinistra del tag </Process> e scegliere Incolla.

    Nell'esempio seguente viene illustrato lo script XMLA modificato.

    <Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
     <Parallel>  
      <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <DimensionID>Dim Customer</DimensionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
      <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID>Internet_Sales_2004</PartitionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
     </Parallel>  
    </Batch>  
    
  11. Selezionare lo script XMLA modificato, fare clic con il pulsante destro del mouse su tale script e scegliere Copia.

  12. In questo passaggio lo script XMLA viene copiato negli Appunti di Windows. È possibile lasciare lo script XMLA negli Appunti, salvarlo su un file o incollarlo nel Blocco note o un altro editor di testo.

Creare e pianificare il processo di elaborazione batch

  1. Connettersi a un'istanza di SQL Servere quindi aprire Esplora oggetti.

  2. Espandere SQL Server Agent. Avviare il servizio, se non è già in esecuzione.

  3. Fare clic con il pulsante destro del mouse su Processi e selezionare Nuovo processo.

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

  5. In Passaggi fare clic su Nuovo.

  6. Nella finestra di dialogo Nuovo passaggio di processo immettere il nome del passaggio nella casella Nome passaggio.

  7. In Tipo selezionare Comando di SQL Server Analysis Services.

  8. In Esegui come selezionare Account del servizio SQL Server Agent. Tenere presente, secondo quanto indicato nella sezione Prerequisiti, che questo account deve disporre di autorizzazioni amministrative su Analysis Services.

  9. In Server specificare il nome del server dell'istanza di Analysis Services.

  10. In Comando fare clic con il pulsante destro del mouse e scegliere Incolla.

  11. Fare clic su OK.

  12. Nella pagina Pianificazioni fare clic su Nuova.

  13. Nella finestra di dialogo Nuova pianificazione processo immettere il nome della pianificazione nella casella Nome e fare clic su OK.

    In questo passaggio viene creata una pianificazione per domenica alle 12.00 AM. Nel passaggio successivo verrà illustrato come eseguire manualmente il processo. È inoltre possibile selezionare una pianificazione che eseguirà il processo mentre viene monitorato.

  14. Fare clic su OK per chiudere la finestra di dialogo.

  15. In Esplora oggetti espandere Processi, fare clic con il pulsante destro del mouse sul processo creato e scegliere Inizia processo al passaggio.

    Poiché il processo include un solo passaggio, verrà eseguito immediatamente. Se il processo è costituito da più di un passaggio, è possibile selezionare quello da cui dovrà iniziare il processo.

  16. Al termine del processo fare clic su Chiudi.

Vedere anche

Opzioni e impostazioni di elaborazione (Analysis Services)