Korzystam z programu SQL Server 2014 Developer Edition na moim komputerze. Próbuję wyświetlić dane w sesji system_health. W SSMS połączyłem się z bazą danych, rozszerzyłem serwer / Zarządzanie / Rozszerzone zdarzenia / Sesje. Widzę AlwaysON_health (zatrzymany) i system_health (uruchomiony).
Po kliknięciu sesji system_health prawym przyciskiem myszy pojawia się następujący błąd:
Nie można zainicjować magazynu przy użyciu podanych parametrów. (Microsoft.SqlServer.XEventStorage) Nie można znaleźć sesji zdarzeń rozszerzonych o nazwie „zdrowie_systemowe”. Upewnij się, że sesja istnieje i została uruchomiona. (Microsoft SQL Server, błąd: 25728)
Rozwijam system_health i widzę cele pakiet0.event_file i package0.ring_buffer. Jeśli kliknę prawym przyciskiem myszy dowolny cel i wybiorę „Wyświetl dane docelowe”, pojawia się ten błąd:
Nie można zainicjować magazynu przy użyciu podanych parametrów. (Microsoft.SqlServer.XEventStorage) Nie można wyświetlić funkcji „fn_MSXe_read_event_stream”, ponieważ nie istnieje lub nie masz uprawnień. (Microsoft SQL Server, błąd: 15151)
Ta funkcja istnieje. Mogę to uruchomić:
select * from fn_MSXe_read_event_stream('system_health', 0);
Kiedy to robię, pojawia się ten błąd:
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.
Wiem, że istnieje sesja system_health. Widzę na liście sesji:
select * from sys.dm_xe_sessions
address name name
------------------ -------------
0x00000001FF6510C1 system_health
Próbowałem tego z własnymi niestandardowymi sesjami zdarzeń. Nie mogę też oglądać danych na ich temat.
Mogę wysłać zapytanie do danych docelowych bufora pierścieniowego system_health sys.dm_xe_session_targets
.
Dlaczego nie mogę oglądać danych na żywo dla żadnej sesji wydarzeń rozszerzonych?
(Zwróć uwagę, że w tym problemie znajduje się opinia firmy Microsoft ).
źródło
master
. Przywracanie domyślnej bazy danych w celumaster
rozwiązania błędu.Odpowiedzi:
Znalazłem problem. Mój login miał inną domyślną bazę danych niż
master
baza danych. Gdy zmieniłem domyślną bazę danych namaster
, błąd zniknął i mogłem oglądać dane na żywo podczas rozszerzonych sesji zdarzeń.Aby zmienić domyślną bazę danych, w SSMS rozwinąłem serwer, Zabezpieczenia, Loginy. Kliknąłem prawym przyciskiem myszy poświadczenia użytkownika. Na stronie Właściwości logowania dla mojego użytkownika zmieniłem „Domyślna baza danych” na
master
. Błąd zniknął, gdy zamknąłem i ponownie otworzyłem połączenie w SSMS Object Explorer.EDYCJA 2018-12-11
W linku zwrotnym dla tego problemu Karl Fasick opublikował prawdopodobne rozwiązanie:
źródło