Abfrageaktivitäts-Sammlertyp
Der Abfrageaktivitäts-Sammlertyp ist ein benutzerdefinierter Sammlertyp, der von dem Sammlungssatz für die Abfragestatistik, einem der vordefinierten Systemdaten-Sammlungssätze, verwendet wird.
Mit diesem Sammlertyp werden Abfragestatistiken und Informationen zur Abfrageaktivität zusammen mit dem Abfrageplan und dem Abfragetext für Abfragen erfasst, die vordefinierten Kriterien entsprechen. Wenn Sie mit diesem Sammlertyp einen eigenen Sammlungssatz erstellen, erfasst dieser dieselben Informationen wie der Sammlungssatz für die Abfragestatistik. Deshalb empfiehlt es sich, dass Sie den vordefinierten Sammlungssatzsatz für Abfragestatistiken verwenden.
Architektur und Verarbeitung
Der Abfrageaktivitäts-Sammlertyp besteht aus den folgenden Elementen:
Einem Schema für Eingabeparameter (intern)
Einem SSIS-Paket zum Erfassen von Daten (QueryActivityCollect.dtsx)
Einem SSIS-Paket zum Hochladen von Daten (QueryActivityUpload.dtsx)
Zusätzlich verwendet dieser Sammlertyp benutzerdefinierte Tasks oder Transformationen zum Analysieren und Auswählen von Daten, die im Verwaltungs-Data Warehouse gespeichert werden sollen.
Der Abfrageaktivitäts-Sammlertyp führt die folgenden Vorgänge aus:
Er listet Beispiele der dynamischen Verwaltungssichten dm_exec_requests und dm_exec_sessions sowie ausgewählter verwandter dynamischer Verwaltungssichten auf. Dies wird als einzelne verknüpfte Abfrage implementiert. Die Datensammlung erfolgt mit der für das Sammelelement angegebenen Sammlungshäufigkeit.
Er erfasst bei jedem Hochladen der Sammlungssätze Momentaufnahmen der dynamischen Verwaltungssicht dm_exec_query_stats. In der Standardeinstellung wird der Sammlungssatz für Abfragestatistiken alle 15 Minuten hochgeladen.
Sammlungsphase
In der folgenden Tabelle wird die Abfrage angezeigt, die während der Sammlungsphase verwendet wird. Diese Abfrage wird im SSIS-Paket QueryActivityCollect.dtsx definiert.
Sammlungshäufigkeit |
10 Sekunden |
Abfrage |
|
Uploadphase
Während der Uploadphase werden die aufgelisteten Daten analysiert, um zu bestimmen, welche Daten im Verwaltungs-Data Warehouse gespeichert werden sollen. Anhand dieser Analyse werden ein Satz von Abfragestatistiken, Abfragepläne und ein Abfragetext bestimmt, die auf Grundlage der folgenden Kriterien gespeichert werden müssen:
Ein Schlüsselelement ist ein Algorithmus, der auswählt, welche Abfragen und Abfragepläne im Data Warehouse gespeichert werden sollen. Dieser Algorithmus funktioniert wie folgt:
Er erfasst eine Momentaufnahme von sys.dm_exec_query_stats. Diese Momentaufnahme wird bei jedem Upload der Sammlungssätze erfasst. (In der Standardeinstellung ist dies alle 15 Minuten.)
Er ruft die zuletzt (vor 15 Minuten) erstellte Momentaufnahme zum Vergleich mit der neuen Momentaufnahme ab. Die zuletzt entstandene Momentaufnahme wird lokal zwischengespeichert und muss nicht aus dem Verwaltungs-Data Warehouse abgerufen werden.
Er wählt die obersten drei Abfragen jeder Momentaufnahme mit der folgenden Metrik aus:
Verstrichene Zeit
Arbeitszeit
Logische Lesevorgänge
Logische Schreibvorgänge
Physische Lesevorgänge
Ausführungsanzahl
Dieser Prozess stellt 6 x 3 sql_handles und plan_handles bereit.
Er identifiziert die eindeutigen sql_handles und plan_handles.
Er erstellt einen Durchschnitt zwischen diesem Ergebnis und den im Data Warehouse gespeicherten sql_handles und plan_handles.
Er ruft den Plan und den Text für neue sql_handles und plan_handles vom Server ab. Wird der Plan oder der Text nicht gefunden (da er womöglich bereits aus dem lokalen Cache entfernt wurde), speichert er die Handles im Verwaltungs-Data Warehouse.
Er normalisiert den Text jedes erfassten sql_handle-Texts (beispielsweise entfernt er Parameter und Literale), und er berechnet den eindeutigen Hashwert für den normalisierten Text. Er speichert den normalisierten Text, den Hashwert und die Zuordnung zum ursprünglichen sql_handle im Verwaltungs-Data Warehouse.
In der folgenden Tabelle ist die Abfrage dargestellt, die dazu verwendet wird, die Momentaufnahmen zu erhalten und die Daten im Verwaltungs-Data Warehouse zu analysieren und anschließend hochzuladen. Diese Abfrage wird im SSIS-Paket QueryActivityUpload.dtsx definiert.
Abfrage |
|
Abfrageausgabe |
snapshots.query_stats, snapshots.notable_query_text und snapshots.notable_query_plan |
Siehe auch