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 .)
quelle
master
. Setzen Sie meine Standarddatenbank zurück,master
um den Fehler zu beheben.Antworten:
Ich habe das Problem gefunden. Mein Login hatte eine andere Standarddatenbank als die
master
Datenbank. Als ich meine Standarddatenbank in änderte, verschwandmaster
der 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:
quelle