Live-Daten können nicht in einer Sitzung mit erweiterten Ereignissen angezeigt werden


9

Ich verwende SQL Server 2014 Developer Edition auf meinem PC. Ich versuche, die Daten in der Sitzung system_health anzuzeigen. In SSMS habe ich eine Verbindung zur Datenbank hergestellt und den Server / Management / Extended Events / Sessions erweitert. Ich sehe AlwaysON_health (gestoppt) und system_health (ausgeführt).

Wenn ich mit der rechten Maustaste auf die Sitzung system_health klicke, wird folgende Fehlermeldung angezeigt:

Der Speicher konnte mit den angegebenen Parametern nicht initialisiert werden. (Microsoft.SqlServer.XEventStorage) Die Sitzung "Erweiterte Ereignisse" mit dem Namen "system_health" wurde nicht gefunden. Stellen Sie sicher, dass die Sitzung vorhanden und gestartet ist. (Microsoft SQL Server, Fehler: 25728)

Ich erweitere system_health und sehe die Ziele package0.event_file und package0.ring_buffer. Wenn ich mit der rechten Maustaste auf eines der Ziele klicke und "Zieldaten anzeigen" wähle, wird folgende Fehlermeldung angezeigt:

Der Speicher konnte mit den angegebenen Parametern nicht initialisiert werden. (Microsoft.SqlServer.XEventStorage) Die Funktion 'fn_MSXe_read_event_stream' kann nicht angezeigt werden, da sie nicht vorhanden ist oder Sie keine Berechtigung haben. (Microsoft SQL Server, Fehler: 15151)

Die Funktion existiert. Ich kann es ausführen:

select * from fn_MSXe_read_event_stream('system_health', 0);

Wenn ich das tue, erhalte ich diesen Fehler:

Msg 25728, Level 16, State 10, Line 6
The Extended Events session named "system_health" could not be found. Make  sure the session exists and is started.

Ich weiß, dass die system_health-Sitzung vorhanden ist. Ich sehe in der Liste der Sitzungen:

select * from sys.dm_xe_sessions

address name       name
------------------ ------------- 
0x00000001FF6510C1 system_health

Ich habe dies mit meinen eigenen benutzerdefinierten Ereignissitzungen versucht. Ich kann auch die Live-Daten nicht sehen.

Ich kann die system_health Ringpuffer-Zieldaten von abfragen sys.dm_xe_session_targets.

Warum kann ich keine Live-Daten für eine erweiterte Ereignissitzung anzeigen?

(Beachten Sie, dass es zu diesem Problem ein Microsoft-Feedback gibt .)


1
Können Sie dies auf einer anderen Instanz (mit derselben Kopie von SSMS) oder auf dieser Instanz von einer anderen Kopie von SSMS (z. B. von einem anderen Computer) testen? Haben Sie sowohl mit Windows-Authentifizierung als auch mit sa versucht? Klingt nach einem Problem mit der Instanz, ist aber immer gut, um Kombinationen auszuschließen.
Aaron Bertrand

Ich habe die Antwort gefunden. Die Standarddatenbank meines Logins wurde auf die festgelegt, die ich normalerweise anstelle von verwende master. Setzen Sie meine Standarddatenbank zurück, masterum den Fehler zu beheben.
Paul Williams

Wenn Sie mit der rechten Maustaste auf die Sitzung im Objekt-Explorer klicken, sollte SQL Server unabhängig von Ihrer Standarddatenbank wissen, wo sie zu finden ist.
Aaron Bertrand

@ AaronBertrand Ja, ich stimme zu! SSMS sollte unabhängig von meiner Standarddatenbank wissen, wie eine Verbindung zur Ereignissitzung hergestellt wird. Ich habe in meiner Frage ein Microsoft Connect-Element verlinkt, falls jemand darüber abstimmen oder einen Kommentar abgeben möchte.
Paul Williams

Welches Login benutzt du? Windows-Authentifizierung oder SQL-Authentifizierung? In welcher Rolle spielen sie?
Aaron Bertrand

Antworten:


15

Ich habe das Problem gefunden. Mein Login hatte eine andere Standarddatenbank als die masterDatenbank. Als ich meine Standarddatenbank in änderte, verschwand masterder Fehler und ich konnte Live-Daten in den erweiterten Ereignissitzungen anzeigen.

Um die Standarddatenbank zu ändern, habe ich in SSMS den Server Sicherheit, Anmeldungen erweitert. Ich habe mit der rechten Maustaste auf meine Benutzeranmeldeinformationen geklickt. Auf der Seite Anmeldeeigenschaften für meinen Benutzer habe ich "Standarddatenbank" in geändert master. Der Fehler wurde behoben, als ich die Verbindung im SSMS-Objekt-Explorer schloss und wieder öffnete.

EDIT 2018-12-11

Auf dem Feedback-Link zu diesem Problem hat Karl Fasick eine wahrscheinliche Lösung veröffentlicht:

Der Objekt-Explorer ist nicht mit der Master-Datenbank verbunden.


1
Es gibt ein Connect-Element für diesen EXACT-Fehler. MS schloss es als "konnte nicht reproduzieren": connect.microsoft.com/SQLServer/feedback/details/893993/… Bitte stimmen Sie ab, wenn Sie auf die gleiche Weise wie ich hierher gekommen sind (googeln Sie den Fehler - in meinem Fall gegen ein 2016) Beispiel).
Michael K Campbell

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.