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

时间:2010-02-22 23:24:11

标签: 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中修复的内容?

2 个答案:

答案 0 :(得分:8)

Azure的行为与SQL相同:

  

权限:需要VIEW SERVER STATE权限   在服务器上。

     

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

答案 1 :(得分:7)

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

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

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