在扩展事件会话上无法观看实时数据


9

我在PC上运行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副本)还是在另一个实例上(例如从另一台计算机)在另一个实例上对此进行测试?您是否同时尝试了Windows身份验证和sa?听起来像实例有问题,但总是可以排除组合。
亚伦·伯特兰

我找到了答案。我的登录名的默认数据库设置为我通常使用而不是的数据库master。重新设置我的默认数据库即可master解决该错误。
保罗·威廉姆斯

这似乎很奇怪,如果在对象资源管理器中右键单击该会话,则无论您的默认数据库如何,SQL Server都应该知道在哪里可以找到它。
亚伦·伯特兰

@AaronBertrand是的,我同意!无论我的默认数据库如何,SSMS都应该知道如何连接到事件会话。如果有人要对此问题进行投票或评论,我会在问题中链接一个Microsoft Connect项目。
Paul Williams

您正在使用什么登录名?Windows身份验证还是SQL身份验证?他们扮演什么角色?
亚伦·伯特兰

Answers:


15

我发现了问题。我的登录名具有与数据库不同的默认master数据库。当我将默认数据库更改为时master,错误消失了,并且能够在扩展事件会话上观看实时数据。

要更改默认数据库,在SSMS中,我展开了服务器“安全性”,“登录名”。我用鼠标右键单击我的用户凭据。在我的用户的“登录属性”页面上,将“默认数据库”更改为master。当我关闭并在SSMS Object Explorer中重新打开连接时,错误消失了。

编辑2018-12-11

此问题反馈链接上,Karl Fasick发表了一个可能的解决方案:

对象资源管理器未连接到主数据库...要修复-断开对象资源管理器-重新连接,但是转到“连接属性”并明确选择“主”。


1
此精确错误有一个连接项。MS将其关闭为“无法复制”: connect.microsoft.com/SQLServer/feedback/details/893993/… 如果您以与我相同的方式到达此处,请投票赞成(仔细检查错误-在我的情况下为2016年)实例)。
迈克尔·坎贝尔

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.