Pianificare attività amministrative SSAS con SQL Server Agent

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

Usando il servizio SQL Server Agent, è possibile pianificare SQL Server Analysis Services attività amministrative da eseguire nell'ordine e nei tempi 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'istanza di Analysis Services.

È 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à SQL Server Analysis Services pianificata è uno script XMLA incorporato in un processo SQL Server Agent. L'esecuzione di questo processo è pianificata per l'esecuzione negli orari e con la frequenza desiderati. Poiché il SQL Server Agent fa parte di SQL Server, si lavora sia con il motore di database che con SQL Server Analysis Services per creare e pianificare un'attività amministrativa.

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

  1. In SQL Server Management Studio connettersi a SQL Server 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 elaborazionesia Elaborazione completa. In caso contrario, in Opzioni elaborazionefare 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 della dimensione

  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 paginaselezionare Passaggie 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 SQL Server Analysis Services e localhost\<nome> istanza per 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 nome> del server di formato < per un'istanza predefinita e>< nome server\<nome> istanza per un'istanza denominata.

  8. In Tiposelezionare Comando di SQL Server Analysis Services.

  9. In Comandofare 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 paginafare clic su Pianificazionie quindi su Nuovo.

  12. Nella finestra di dialogo Nuova pianificazione processo immettere il nome della pianificazione nella casella Nomee 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 oggettiespandere 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 descritte in questo esempio illustrano come creare e pianificare un processo che elabora un SQL Server Analysis Services dimensione del database e allo stesso tempo per elaborare una partizione di cubo che dipende dalla dimensione per l'aggregazione. Per altre informazioni sull'elaborazione batch di oggetti SQL Server Analysis Services, vedere Elaborazione batch (Analysis Services).For more information about batch processing of SQL Server Analysis Services objects, see Batch Processing (Analysis Services).

Creare uno script per l'elaborazione batch di una dimensione e una partizione in un processo di 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 Salese 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 Server e 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 Passaggifare clic su Nuovo.

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

  7. In Tiposelezionare Comando di SQL Server Analysis Services.

  8. In Esegui comeselezionare 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 Serverspecificare il nome del server dell'istanza di Analysis Services.

  10. In Comandofare 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 Nomee 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 oggettiespandere 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)