Невозможно просмотреть данные в реальном времени в сеансе расширенных событий

9

Я использую SQL Server 2014 Developer Edition на своем ПК. Я пытаюсь просмотреть данные в сеансе system_health. В SSMS я подключился к базе данных, развернул сервер / Управление / Расширенные события / Сеансы. Я вижу AlwaysON_health (остановлено) и system_health (работает).

Когда я щелкаю правой кнопкой мыши по сеансу system_health, я получаю следующую ошибку:

Не удалось инициализировать хранилище с использованием предоставленных параметров. (Microsoft.SqlServer.XEventStorage) Не удалось найти сеанс расширенных событий с именем «system_health». Убедитесь, что сеанс существует и запущен. (Microsoft SQL Server, ошибка: 25728)

Я раскрываю system_health и вижу цели package0.event_file и package0.ring_buffer. Если я щелкну правой кнопкой мыши по любой цели и выберу «Просмотр данных цели», я получу эту ошибку:

Не удалось инициализировать хранилище с использованием предоставленных параметров. (Microsoft.SqlServer.XEventStorage) Невозможно просмотреть функцию 'fn_MSXe_read_event_stream', так как она не существует или у вас нет разрешения. (Microsoft SQL Server, ошибка: 15151)

Функция существует. Я могу запустить это:

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

Когда я это делаю, я получаю эту ошибку:

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.

Я знаю, что сессия system_health там. Я вижу в списке сессий:

select * from sys.dm_xe_sessions

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

Я пробовал это с моими собственными сеансами событий. Я тоже не могу смотреть на них данные в реальном времени.

Я могу запросить данные целевого кольцевого буфера system_health из sys.dm_xe_session_targets.

Почему я не могу смотреть данные в реальном времени для расширенного сеанса событий?

(Обратите внимание, что для этой проблемы существует элемент обратной связи Microsoft .)

Пол Уильямс
источник
1
Можете ли вы проверить это на другом экземпляре (используя ту же копию SSMS) или на этом экземпляре из другой копии SSMS (например, с другого компьютера)? Вы пробовали как с аутентификацией Windows, так и с SA? Звучит как проблема с экземпляром, но всегда хорошо исключать комбинации.
Аарон Бертран
Я нашел ответ. База данных по умолчанию для моего логина была установлена ​​на ту, которую я обычно использую вместо master. Восстановление базы данных по умолчанию для masterустранения ошибки.
Пол Уильямс
Это кажется странным, если щелкнуть правой кнопкой мыши сеанс в обозревателе объектов, SQL Server должен знать, где его найти, независимо от базы данных по умолчанию.
Аарон Бертран
@AaronBertrand Да, я согласен! SSMS должен знать, как подключиться к сеансу событий, независимо от базы данных по умолчанию. Я связал элемент Microsoft Connect в своем вопросе, если кто-то захочет проголосовать или прокомментировать его.
Пол Уильямс
Какой логин вы используете? Аутентификация Windows или аутентификация SQL? В какой роли они играют?
Аарон Бертран

Ответы:

15

Я нашел проблему. Мой логин имел другую базу данных по умолчанию, чем masterбаза данных. Когда я изменил свою базу данных по умолчанию на master, ошибка исчезла, и я смог просматривать данные в реальном времени в расширенных сеансах событий.

Чтобы изменить базу данных по умолчанию, в SSMS я развернул сервер Security, Logins. Я щелкнул правой кнопкой мыши на своих учетных данных пользователя. На странице свойств входа в систему для моего пользователя я изменил «База данных по умолчанию» на master. Ошибка исчезла, когда я закрыл и снова открыл соединение в обозревателе объектов SSMS.

РЕДАКТИРОВАТЬ 2018-12-11

На ссылке обратной связи по этому вопросу Карл Фасик опубликовал вероятное решение:

Обозреватель объектов не подключен к основной базе данных ... Чтобы исправить - отключите Обозреватель объектов - Повторно подключитесь, но перейдите в Свойства подключения и явно выберите мастер.

Пол Уильямс
источник
1
Есть пункт Подключить для этой ТОЧНОЙ ошибки. MS закрыла его как «не удалось воспроизвести»: connect.microsoft.com/SQLServer/feedback/details/893993/… Пожалуйста, проголосуйте, если вы попали сюда так же, как я (поиск по ошибке - в моем случае против 2016 года) пример).
Майкл К Кэмпбелл
1
Новая ссылка: feedback.azure.com/forums/908035-sql-server/suggestions/…
Пол Уильямс