Sql Server Activity监视器中的这个过程是什么?

时间:2009-04-16 17:01:46

标签: sql sql-server sql-server-2005 process ssms

有一个进程似乎一直在SQL Server 2005活动监视器中运行。双击它会产生以下查询:

CREATE TABLE #tmpDBCCinputbuffer ([EVENT TYPE] NVARCHAR(512), [PARAMETERS] INT, [EVENT Info] NVARCHAR(512)) INSERT INTO #tmpDBCCinputbuffer EXEC ('DBCC INPUTBUFFER(58)') SELECT [EVENT Info] FROM #tmpDBCCinputbuffer

知道它是什么吗?这很危险吗?

3 个答案:

答案 0 :(得分:6)

具有讽刺意味的是,它用于查看连接上运行的最后一个查询的查询,您正在查看所有连接的最后查询是什么。包括用于查看所有这些连接的连接。

当你需要它时,头晕的表情符号在哪里?

答案 1 :(得分:0)

http://msdn.microsoft.com/en-us/library/ms187730.aspx

从SQL Server开发人员中心引用

  

“DBCC INPUTBUFFER权限默认值   修复了sysadmin的成员   仅限服务器角色,谁可以看到任何   SPID。其他用户可以看到任何SPID   他们拥有。权限不是   转让“。   (http://msdn.microsoft.com/en-us/library/aa258826(SQL.80).aspx

答案 2 :(得分:0)

我只是想分享另一个答案,进一步解释了Neil N的回答。

  

DBCC INPUTBUFFER(spid)命令将返回针对指定SPID执行的最新批处理的文本。当您双击活动监视器中的一行(或右键单击并选择'详细信息')然后,在封面下,SQL Server运行您在上面的帖子中引用的命令(替换上面的帖子中的SPID)选择行 - 在您的示例中为61)以返回针对连接发出的最新批次。在您的示例中,批处理实际上恰好是CREATE TABLE等...由Activity Monitor发出以返回最新批处理的批处理!

Chris Howarth https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6bbe405b-b7d8-4f97-9150-cf03c59d4fe3/process-wont-die?forum=sqldatabaseengine

数字58是它总是会返回的,因为它是它的进程ID,它是你运行的最后一个进程!