Überwachen von Analysis Services mit den erweiterten Ereignissen von SQL Server

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Erweiterte Ereignisse (xEvents) ist ein einfaches Ablaufverfolgungs- und Leistungsüberwachungssystem, das nur sehr wenige Systemressourcen verwendet, was es zu einem idealen Tool für die Diagnose von Problemen auf Produktions- und Testservern macht. Es ist auch hochgradig skalierbar, konfigurierbar und in SQL Server 2016 einfacher zu verwenden, indem neue integrierte Tools unterstützt werden. In SQL Server Management Studio (SSMS) können Sie bei Verbindungen mit Analysis Services-Instanzen eine Liveablaufverfolgung konfigurieren, ausführen und überwachen, ähnlich wie mit SQL Server Profiler. Das Hinzufügen besserer Tools sollte xEvents zu einem sinnvolleren Ersatz für SQL Server Profiler machen und für mehr Symmetrie bei der Diagnostizierung von Problemen in Ihrer Datenbank-Engine und Analysis Services-Workloads sorgen.

Neben SQL Server Management Studio können Sie auch SQL Server Analysis Services Erweiterten Ereignissitzungen auf die alte Art und Weise über XMLA-Skripts konfigurieren, wie es in früheren Versionen unterstützt wurde.

Alle Analysis Services-Ereignisse können aufgezeichnet und auf bestimmte Consumer ausgerichtet werden, wie in Erweiterte Ereignissedefiniert.

Verwenden von SSMS zum Konfigurieren von Analysis Services

Sowohl für tabellarische als auch für mehrdimensionale Instanzen zeigt SSMS einen Verwaltungsordner an, der vom Benutzer initiierte xEvent-Sitzungen enthält. Sie können mehrere Sitzungen gleichzeitig ausführen. In der aktuellen Implementierung unterstützt die Benutzeroberfläche von SQL Server Analysis Services erweiterten Ereignissen das Aktualisieren oder Wiedergeben einer vorhandenen Sitzung jedoch nicht.

Der Ordner Verwaltung wird nicht unterstützt, wenn SSMS zum Herstellen einer Verbindung mit einem Power BI Premium Arbeitsbereich verwendet wird.

ssas_extended_events_ssms_start

Auswählen von Ereignissen

Wenn Sie bereits wissen, welche Ereignisse Sie erfassen möchten, stellt das Suchen nach diesen Ereignissen die einfachste Methode dar, diese zur Ablaufverfolgung hinzuzufügen. Andernfalls können Sie die folgenden Ereignisse nutzen, die häufig zum Überwachen von Vorgängen verwendet werden:

  • CommandBegin und CommandEnd.

  • QueryBegin, QueryEndund QuerySubcubeVerbose (zeigt die gesamte an den Server gesendete MDX- oder DAX-Abfrage) sowie ResourceUsage für Statistiken über von der Abfrage belegte Ressourcen und darüber, wie viele Zeilen zurückgegeben werden.

  • ProgressReportBegin und ProgressReportEnd (für Verarbeitungsvorgänge).

  • AuditLogin und AuditLogout (erfasst die Benutzeridentität, unter der eine Clientanwendung eine Verbindung mit Analysis Services herstellt).

Auswählen des Datenspeichers

Eine Sitzung kann live an ein Fenster in Management Studio gestreamt werden oder mithilfe von Power Query oder Excel dauerhaft in einer Datei für nachfolgende Analysen gespeichert werden.

  • event_file speichert Sitzungsdaten in einer XEL-Datei.

  • event_stream aktiviert die Option Livedaten ansehen in Management Studio.

  • ring_buffer speichert Sitzungsdaten solange im Arbeitsspeicher, wie der Server ausgeführt wird. Bei einem Neustart des Servers werden die Sitzungsdaten verworfen.

Hinzufügen von Ereignisfeldern

Achten Sie darauf, die Sitzung so zu konfigurieren, dass Ereignisfelder enthalten sind, damit Sie einfach die für Sie interessanten Informationen einsehen können.

Konfigurieren ist eine Option am äußersten Ende des Dialogfelds.

Screenshot des Dialogfelds mit hervorgehobener Option

Wählen Sie bei der Konfiguration auf der Registerkarte „Ereignisfelder“ TextData aus, damit dieses Feld neben dem Ereignis auftaucht und dabei Rückgabewerte anzeigt, einschließlich auf dem Server ausgeführter Abfragen.

Nachdem Sie eine Sitzung für die gewünschten Ereignisse und den Datenspeicher konfiguriert haben, können Sie auf die Skriptschaltfläche klicken, um Ihre Konfiguration an eines der unterstützten Ziele zu senden, einschließlich einer Datei, einer neuen Abfrage in SQL Server Management Studio und der Zwischenablage.

Aktualisieren von Sitzungen

Nachdem Sie die Sitzung erstellt haben, sollten Sie den Ordner „Sitzungen“ in Management Studio aktualisieren, um die gerade erstellte Sitzung anzuzeigen. Wenn Sie einen event_stream konfiguriert haben, können Sie mit der rechten Maustaste auf den Namen der Sitzung klicken und Livedaten ansehen auswählen, um die Serveraktivität in Echtzeit zu überwachen.

XMLA-Skript zum Starten

Die Erweiterte Ereignis-Ablaufverfolgung wird mit einem ähnlichen XMLA-Skriptbefehl zum Erstellen eines Objekts wie unten dargestellt aktiviert:

<Execute ...>  
   <Command>  
      <Batch ...>  
         <Create ...>  
            <ObjectDefinition>  
               <Trace>  
                  <ID>trace_id</ID>  
                  <Name>trace_name</Name>  
                  <ddl300_300:XEvent>  
                     <event_session ...>  
                        <event package="AS" name="AS_event">  
                           <action package="PACKAGE0" .../>  
                        </event>  
                        <target package="PACKAGE0" name="asynchronous_file_target">  
                           <parameter name="filename" value="data_filename.xel"/>  
                           <parameter name="metadatafile" value="metadata_filename.xem"/>  
                        </target>  
                     </event_session>  
                  </ddl300_300:XEvent>  
               </Trace>  
            </ObjectDefinition>  
         </Create>  
      </Batch>  
   </Command>  
   <Properties></Properties>  
</Execute>  

Dabei sind die folgenden Elemente abhängig von den Ablaufverfolgungsanforderungen vom Benutzer zu definieren:

trace_id
Definiert den eindeutigen Bezeichner für diese Ablaufverfolgung.

trace_name
Der Name dieser Ablaufverfolgung, normalerweise eine lesbare Beschreibung der Ablaufverfolgung. Üblicherweise wird der trace_id -Wert als Name verwendet.

AS_event
Das Analysis Services-Ereignis, das verfügbar gemacht werden soll. Die Namen der Ereignisse finden Sie unter Analysis Services-Ablaufverfolgungsereignisse .

data_filename
Der Name der Datei, die die Ereignisdaten enthält. Für diesen Namen wird ein Zeitstempel als Suffix verwendet, um das Überschreiben von Daten zu vermeiden, wenn die Ablaufverfolgung fortlaufend gesendet wird.

metadata_filename
Der Name der Datei, die die Ereignismetadaten enthält. Für diesen Namen wird ein Zeitstempel als Suffix verwendet, um das Überschreiben von Daten zu vermeiden, wenn die Ablaufverfolgung fortlaufend gesendet wird.

XMLA-Skript zum Beenden

Um das Erweiterte Ereignisse-Ablaufverfolgungsobjekt zu beenden, müssen Sie dieses Objekt mit einem ähnlichen XMLA-Skriptbefehl zum Löschen eines Objekts wie unten dargestellt löschen:

<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">  
   <Command>  
      <Batch ...>  
         <Delete ...>  
            <Object>  
               <TraceID>trace_id</TraceID>  
            </Object>  
         </Delete>  
      </Batch>  
   </Command>  
   <Properties></Properties>  
</Execute>  
  

Dabei sind die folgenden Elemente abhängig von den Ablaufverfolgungsanforderungen vom Benutzer zu definieren:

trace_id
Definiert den eindeutigen Bezeichner für die zu löschende Ablaufverfolgung.

Weitere Informationen

SQL Server Erweiterter Ereignisse