有一个进程似乎一直在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
知道它是什么吗?这很危险吗?
答案 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的回答。
Chris Howarth https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6bbe405b-b7d8-4f97-9150-cf03c59d4fe3/process-wont-die?forum=sqldatabaseengineDBCC INPUTBUFFER(spid)命令将返回针对指定SPID执行的最新批处理的文本。当您双击活动监视器中的一行(或右键单击并选择'详细信息')然后,在封面下,SQL Server运行您在上面的帖子中引用的命令(替换上面的帖子中的SPID)选择行 - 在您的示例中为61)以返回针对连接发出的最新批次。在您的示例中,批处理实际上恰好是CREATE TABLE等...由Activity Monitor发出以返回最新批处理的批处理!
数字58是它总是会返回的,因为它是它的进程ID,它是你运行的最后一个进程!