SQL Azure仅在sys.dm_exec_sessions中返回一行

Bre*_*zar 6 sql-server azure

在本地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中修复的东西?

Rem*_*anu 9

Azure的行为与SQL相同:

权限:需要服务器上的VIEW SERVER STATE权限.

注意:如果用户在服务器上具有VIEW SERVER STATE权限,则用户将在SQL Server实例上看到所有正在执行的会话; 否则,用户将只看到当前会话.


Bre*_*zar 7

在微软内部升级之后,他们已经同意sys.dm_exec_sessions中存在一个错误.它被不正确地过滤,因此无论您的权限如何,它始终只显示您当前的会话而不显示其他会话.他们将在SQL Azure的未来版本中更新它.

如果您需要证明,请在MSDN主题中获取更多信息:

http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/db88c830-0b0a-4e38-ad93-062d12d55c31