Pianificare attività amministrative SSAS con SQL Server Agent

Utilizzando il servizio SQL Server Agent, è possibile pianificare l'esecuzione di 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. In SQL Server 2012 l'account predefinito per SQL Server Agent è NT Service\SQLAgent$<nomeistanza>. Per eseguire un backup o un'attività di elaborazione, è necessario utilizzare un account amministratore di sistema nell'istanza di Analysis Services. Per ulteriori informazioni, vedere Concedere autorizzazioni amministrative per il server (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 ulteriori 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 di SQL Server Agent

  1. In SQL Server Management Studio connettersi 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 Elaborazione dimensione verificare, in Elenco oggetti, che l'opzione per la colonna Opzioni elaborazione sia Elaborazione completa. In caso contrario, in Opzioni elaborazione fare clic sull'opzione e 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="https://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, quindi aprire Esplora oggetti.

  2. Espandere SQL Server Agent.

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

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

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

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

  7. In Server digitare localhost per un'istanza predefinita di Analysis Services e localhost \<instance name> 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. Utilizzare il formato <server name> per un'istanza predefinita e <server name>\<instance name> 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. Scegliere OK.

  11. In Selezione pagina fare clic su Pianificazioni, quindi fare clic 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, quindi 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.

  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 ulteriori informazioni sull'elaborazione batch di oggetti di Analysis Services, vedere Elaborazione batch di oggetti di Analysis Services.

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

  1. Utilizzando 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 verificare, in Elenco oggetti, che l'opzione per la colonna Opzioni elaborazione 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, espandere Partizioni, fare clic con il pulsante destro del mouse sull'ultima partizione sull'elenco, quindi scegliere Elabora.

  6. Nella finestra di dialogo Elabora partizione verificare, in Elenco oggetti, che l'opzione per la colonna Opzioni elaborazione 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.

    Nota di attenzioneAttenzione

    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 su all'interno dello script a sinistra del tag </Process> e scegliere Incolla.

    Nell'esempio seguente viene illustrato lo script XMLA modificato.

    <Batch xmlns="https://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, 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 scegliere Nuovo processo.

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

  5. In Passaggi fare clic su Nuovo.

  6. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo 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. Scegliere 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. Scegliere 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

Concetti

Opzioni e impostazioni di elaborazione (Analysis Services)

Creare script per le attività amministrative in Analysis Services