Freigeben über


Planen von administrativen SSAS-Aufgaben mit SQL Server-Agent

Mithilfe des SQL Server-Agent-Diensts können Sie verwaltungstechnische Aufgaben für Analysis Services in der reihenfolge und zu den benötigten Zeiten planen. Geplante Aufgaben helfen Ihnen beim Automatisieren von Prozessen, die in regelmäßigen oder vorhersagbaren Zyklen ausgeführt werden. Sie können administrative Aufgaben, wie die Cube-Verarbeitung, zu Zeiten planen, in denen die Geschäftsaktivität langsam ist. Sie können auch die Reihenfolge bestimmen, in der Aufgaben ausgeführt werden, indem Sie Auftragsschritte innerhalb eines SQL Server-Agent-Auftrags erstellen. Sie können beispielsweise einen Cube verarbeiten und dann eine Sicherung des Cubes ausführen.

Mit den Arbeitsabschnitten können Sie den Ausführungsablauf steuern. Wenn ein Auftrag fehlschlägt, können Sie den SQL Server-Agent so konfigurieren, dass die verbleibenden Aufgaben weiterhin ausgeführt werden oder die Ausführung beendet wird. Sie können sql Server-Agent auch so konfigurieren, dass Benachrichtigungen über den Erfolg oder Fehler der Auftragsausführung gesendet werden.

Dieses Thema ist eine Anleitung, die zwei Methoden zeigt, wie man XMLA-Skripts mit SQL Server-Agent ausführt. Im ersten Beispiel wird veranschaulicht, wie die Verarbeitung einer einzelnen Dimension geplant wird. In Beispiel 2 wird gezeigt, wie Verarbeitungsaufgaben in einem einzelnen Skript kombiniert werden, das in einem Zeitplan ausgeführt wird. Um diese Anleitung abzuschließen, sollten Sie die folgenden Voraussetzungen erfüllen.

Voraussetzungen

Der SQL Server-Agent-Dienst muss installiert sein.

Standardmäßig werden Aufträge unter dem Dienstkonto ausgeführt. In SQL Server 2012 ist das Standardkonto für den SQL Server-Agent NT Service\SQLAgent$<instancename>. Um eine Sicherungs- oder Verarbeitungsaufgabe auszuführen, muss dieses Konto ein Systemadministrator in der Analysis Services-Instanz sein. Weitere Informationen finden Sie unter Erteilen von Serveradministratorberechtigungen (Analysis Services).

Sie sollten auch über eine Testdatenbank verfügen, mit der Sie arbeiten können. Sie können die multidimensionale AdventureWorks-Beispieldatenbank oder ein Projekt aus dem multidimensionalen Tutorial von Analysis Services bereitstellen, um sie in diesem Leitfaden zu verwenden. Weitere Informationen finden Sie unter Installieren von Beispieldaten und Projekten für das Tutorial zur multidimensionalen Modellierung in Analysis Services.

Beispiel 1: Verarbeiten einer Dimension in einem geplanten Vorgang

In diesem Beispiel wird veranschaulicht, wie Sie einen Auftrag erstellen und planen, der eine Dimension verarbeitet.

Eine geplante Analysis Services-Aufgabe ist ein XMLA-Skript, das in einen SQL Server-Agent-Auftrag eingebettet ist. Dieser Auftrag ist so geplant, dass er zu den gewünschten Zeiten und Häufigkeiten ausgeführt wird. Da der SQL Server-Agent Teil von SQL Server ist, arbeiten Sie sowohl mit dem Datenbankmodul als auch mit Analysis Services zusammen, um eine administrative Aufgabe zu erstellen und zu planen.

Erstellen eines Skripts für die Verarbeitung einer Dimension in einem SQL Server-Agent-Auftrag

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit Analysis Services her. Öffnen Sie einen Datenbankordner, und suchen Sie eine Dimension. Klicken Sie mit der rechten Maustaste auf die Dimension, und wählen Sie "Prozess" aus.

  2. Überprüfen Sie im Dialogfeld " Prozessdimension " in der Spalte " Prozessoptionen " unter " Objektliste", ob die Option für diese Spalte "Prozess vollständig" ist. Wenn dies nicht der Fall ist, klicken Sie unter "Prozessoptionen" auf die Option, und wählen Sie dann in der Dropdownliste " Prozess vollständig" aus.

  3. Klicken Sie auf "Skript".

    In diesem Schritt wird ein XML-Abfragefenster geöffnet, das das XMLA-Skript enthält, das die Dimension verarbeitet.

  4. Klicken Sie im Dialogfeld ' Prozessdimension' auf 'Abbrechen ', um das Dialogfeld zu schließen.

  5. Markieren Sie im XMLA-Abfragefenster das XMLA-Skript, klicken Sie mit der rechten Maustaste auf das hervorgehobene Skript, und wählen Sie "Kopieren" aus.

    In diesem Schritt wird das XMLA-Skript in die Windows-Zwischenablage kopiert. Sie können das XMLA-Skript in der Zwischenablage belassen oder in Editor oder einen anderen Texteditor einfügen. Im Folgenden sehen Sie ein Beispiel für das XMLA-Skript.

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

Erstellen und Planen Sie die Aufgabe zur Dimensionenverarbeitung

  1. Stellen Sie eine Verbindung mit einer Instanz des Datenbankmoduls her, und öffnen Sie dann den Objekt-Explorer.

  2. Erweitern Sie SQL Server-Agent.

  3. Klicken Sie mit der rechten Maustaste auf "Aufträge ", und wählen Sie "Neuer Auftrag" aus.

  4. Geben Sie im Dialogfeld "Neuer Auftrag " einen Auftragsnamen in " Name" ein.

  5. Wählen Sie unter "Seite auswählen" die Option "Schritte" aus, und klicken Sie dann auf "Neu".

  6. Geben Sie im Dialogfeld " Neuer Auftragsschritt " einen Schrittnamen in " Schrittname" ein.

  7. Geben Sie in Server"localhost " für eine Standardinstanz von Analysis Services und "localhost\<instance"> für eine benannte Instanz ein.

    Wenn Sie den Auftrag von einem Remotecomputer ausführen, verwenden Sie den Servernamen und den Instanznamen, in dem der Auftrag ausgeführt wird. Verwenden Sie das Format <Servername> für eine Standardinstanz und <Servername><Instanzname> für eine benannte Instanz.

  8. Wählen Sie in "Typ" den Befehl "SQL Server Analysis Services" aus.

  9. Klicken Sie in "Befehl" mit der rechten Maustaste, und wählen Sie "Einfügen" aus. Das XMLA-Skript, das Sie im vorherigen Schritt generiert haben, sollte im Befehlsfenster angezeigt werden.

  10. Klicke auf OK.

  11. Klicken Sie unter "Seite auswählen" auf "Zeitpläne" und dann auf "Neu".

  12. Geben Sie im Dialogfeld " Neuer Auftragsplan" einen Zeitplannamen in "Name" ein, und klicken Sie dann auf "OK".

    Dieser Schritt erstellt einen Zeitplan für Sonntag um 12:00 Uhr. Im nächsten Schritt wird gezeigt, wie Sie den Auftrag manuell ausführen. Sie können auch einen Zeitplan angeben, der den Auftrag ausführt, wenn Sie ihn überwachen.

  13. Klicken Sie im Dialogfeld "Neuer Auftrag " auf "OK".

  14. Erweitern Sie im Objekt-Explorer den Bereich Aufträge, klicken Sie mit der rechten Maustaste auf den von Ihnen erstellten Auftrag, und wählen Sie dann "Auftrag bei Schritt starten" aus.

    Da der Auftrag nur einen Schritt hat, wird der Auftrag sofort ausgeführt. Wenn der Auftrag mehr als einen Schritt enthält, können Sie den Schritt auswählen, an dem der Auftrag beginnen soll.

  15. Wenn der Auftrag abgeschlossen ist, klicken Sie auf "Schließen".

Beispiel 2: Batchverarbeitung einer Dimension und einer Partition in einem geplanten Vorgang

Die Verfahren in diesem Beispiel veranschaulichen, wie Sie einen Auftrag erstellen und planen, der die Batch-Verarbeitung einer Analysis Services-Datenbankdimension durchführt und gleichzeitig eine Partition einer Cubedimension verarbeitet, die von der Dimension für Aggregation abhängt. Weitere Informationen zur Batchverarbeitung von Analysis Services-Objekten finden Sie unter Batchverarbeitung (Analysis Services).

Erstellen eines Skripts für die Batchverarbeitung einer Dimension und Partition in einem SQL Server-Agent-Auftrag

  1. Erweitern Sie mithilfe derselben Datenbank Dimensionen, klicken Sie mit der rechten Maustaste auf die Dimension "Kunde ", und wählen Sie "Prozess" aus.

  2. Überprüfen Sie im Dialogfeld " Prozessdimension " in der Spalte " Prozessoptionen " unter "Objektliste", ob die Option für diese Spalte "Prozess vollständig" ist.

  3. Klicken Sie auf "Skript".

    In diesem Schritt wird ein XML-Abfragefenster geöffnet, das das XMLA-Skript enthält, das die Dimension verarbeitet.

  4. Klicken Sie im Dialogfeld ' Prozessdimension' auf 'Abbrechen ', um das Dialogfeld zu schließen.

  5. Erweitern Sie Cubes, erweitern Sie Adventure Works, erweitern Sie Messgruppen, erweitern Sie Internetverkäufe, erweitern Sie Partitionen, klicken Sie mit der rechten Maustaste auf die letzte Partition in der Liste, und wählen Sie dann Verarbeiten aus.

  6. Überprüfen Sie im Dialogfeld "Prozesspartition " in der Spalte " Prozessoptionen " unter " Objektliste", ob die Option für diese Spalte "Prozess vollständig" lautet.

  7. Klicken Sie auf "Skript".

    In diesem Schritt wird ein zweites XML-Abfragefenster geöffnet, das das XMLA-Skript enthält, das die Partition verarbeitet.

  8. Klicken Sie im Dialogfeld "Prozesspartition " auf "Abbrechen ", um den Editor zu schließen.

    An diesem Punkt müssen Sie die beiden Skripts zusammenführen und sicherstellen, dass die Dimension zuerst verarbeitet wird.

    Warnung

    Wenn die Partition zuerst verarbeitet wird, bewirkt die nachfolgende Dimensionsverarbeitung, dass die Partition nicht verarbeitet wird. Die Partition erfordert dann eine zweite Verarbeitung, um einen verarbeiteten Zustand zu erreichen.

  9. Markieren Sie im XMLA-Abfragefenster, das das XMLA-Skript enthält, das die Partition verarbeitet, den Code innerhalb der Tags Batch und Parallel, klicken Sie mit der rechten Maustaste auf das hervorgehobene Skript und wählen Sie "Kopieren" aus.

    <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. Öffnen Sie das XMLA-Abfragefenster , das das XMLA-Skript enthält, das die Dimension verarbeitet. Klicken Sie mit der rechten Maustaste auf das Skript links neben dem </Process> Tag, und wählen Sie "Einfügen" aus.

    Das folgende Beispiel zeigt das überarbeitete XMLA-Skript.

    <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. Markieren Sie das überarbeitete XMLA-Skript, klicken Sie mit der rechten Maustaste auf das hervorgehobene Skript, und wählen Sie "Kopieren" aus.

  12. In diesem Schritt wird das XMLA-Skript in die Windows-Zwischenablage kopiert. Sie können das XMLA-Skript in der Zwischenablage belassen, in einer Datei speichern oder in den Editor oder einen anderen Texteditor einfügen.

Erstellen und Planen des Batchverarbeitungsauftrags

  1. Stellen Sie eine Verbindung mit einer Sql Server-Instanz her, und öffnen Sie dann den Objekt-Explorer.

  2. Erweitern Sie SQL Server-Agent. Starten Sie den Dienst, wenn er nicht ausgeführt wird.

  3. Klicken Sie mit der rechten Maustaste auf "Aufträge ", und wählen Sie "Neuer Auftrag" aus.

  4. Geben Sie im Dialogfeld "Neuer Auftrag " einen Auftragsnamen in " Name" ein.

  5. Klicken Sie in den Schritten auf "Neu".

  6. Geben Sie im Dialogfeld " Neuer Auftragsschritt " einen Schrittnamen in " Schrittname" ein.

  7. Wählen Sie in "Typ" den Befehl "SQL Server Analysis Services" aus.

  8. Wählen Sie unter "Ausführen als" das SQL Server-Agent-Dienstkonto aus. Erinnern Sie sich aus dem Abschnitt "Voraussetzungen", dass dieses Konto über Administratorberechtigungen für Analysis Services verfügen muss.

  9. Geben Sie im Server den Servernamen der Analysis Services-Instanz an.

  10. Klicken Sie in "Befehl" mit der rechten Maustaste, und wählen Sie "Einfügen" aus.

  11. Klicke auf OK.

  12. Klicken Sie auf der Seite "Zeitpläne" auf "Neu".

  13. Geben Sie im Dialogfeld " Neuer Auftragsplan" einen Zeitplannamen in "Name" ein, und klicken Sie dann auf "OK".

    Dieser Schritt erstellt einen Zeitplan für Sonntag um 12:00 Uhr. Im nächsten Schritt wird gezeigt, wie Sie den Auftrag manuell ausführen. Sie können auch einen Zeitplan auswählen, der den Auftrag ausführt, wenn Sie ihn überwachen.

  14. Klicken Sie auf OK, um das Dialogfeld zu schließen.

  15. Erweitern Sie im Objekt-ExplorerAufträge, klicken Sie mit der rechten Maustaste auf den von Ihnen erstellten Auftrag, und wählen Sie "Auftrag bei Schritt starten" aus.

    Da der Auftrag nur einen Schritt hat, wird der Auftrag sofort ausgeführt. Wenn der Auftrag mehr als einen Schritt enthält, können Sie den Schritt auswählen, an dem der Auftrag beginnen soll.

  16. Wenn der Auftrag abgeschlossen ist, klicken Sie auf "Schließen".

Siehe auch

Verarbeitungsoptionen und -einstellungen (Analysis Services)
Skriptverwaltungsaufgaben in Analysis Services