在本地Microsoft SQL Server中,当我发出此查询时:
SELECT * FROM sys.dm_exec_sessions
我在SSMS中每个窗口获得一条记录。如果我在SSMS中打开几个查询窗口,我会得到每个查询窗口的记录,即使它们没有做任何事情。在Azure中,当我发出相同的查询时,我只返回一条记录。这是踢球者 - 当我在SSMS中有多个窗口在Azure中进行活动时,我甚至只能获得一条记录。
以下是截图:
SQL Azure http://s3temp.brentozar.com/azure1.png
在该截图中,我在SSMS中有三个活动标签。其中两个正在运行巨型插入语句,需要几秒钟才能执行,第三个是查询sys.dm_exec_sessions - 但我只返回一条记录。我在sys.dm_tran_active_transactions和sys.dm_tran_database_transactions中获得了多条记录,但如果我无法将其绑定回各个会话,则会更改我报告活动查询的方式。是预期的行为,还是MS正在Azure vNext中修复的内容?
答案 0 :(得分:8)
Azure的行为与SQL相同:
权限:需要VIEW SERVER STATE权限 在服务器上。
注意:如果用户有VIEW SERVER 服务器上的STATE权限, 用户将看到所有正在执行的会话 在SQL Server的实例上; 否则,用户只会看到 本届会议。
答案 1 :(得分:7)
在微软内部升级之后,他们已经同意sys.dm_exec_sessions中存在一个错误。它被不正确地过滤,因此无论您的权限如何,它始终只显示您当前的会话而不显示其他会话。他们将在SQL Azure的未来版本中更新它。
如果您需要证明,请在MSDN主题中添加更多信息: