Sql server 2008 如何查看SQL Server 2008中当前正在运行的进程的参数
我正在尝试解决新SQL Server上出现的问题。在查看正在运行的进程sp_who2时,我无法判断进程启动时使用了哪些参数 我可以使用:DBCC-INPUTBUFFER-spid找到进程的名称 我甚至可以找到一些额外的信息,但我看不到显示参数的方法Sql server 2008 如何查看SQL Server 2008中当前正在运行的进程的参数,sql-server-2008,Sql Server 2008,我正在尝试解决新SQL Server上出现的问题。在查看正在运行的进程sp_who2时,我无法判断进程启动时使用了哪些参数 我可以使用:DBCC-INPUTBUFFER-spid找到进程的名称 我甚至可以找到一些额外的信息,但我看不到显示参数的方法 我知道如果我进行跟踪,我可以看到参数,但在这种情况下没有帮助。编辑:我发现了一个有趣的代码:选择dest* 从sys.dm_exec_请求作为订单 交叉应用sys.dm\u exec\u sql\u text der.sql\u句柄作为dest 其
我知道如果我进行跟踪,我可以看到参数,但在这种情况下没有帮助。编辑:我发现了一个有趣的代码:选择dest* 从sys.dm_exec_请求作为订单 交叉应用sys.dm\u exec\u sql\u text der.sql\u句柄作为dest 其中session_id=@spid。请试一试 看起来没有痕迹你是做不到的。 还有几个帖子有类似的问题: 您可以使用DBCC INPUTBUFFER spid,但前提是sp是从SSMS启动的 看看这个。 如果无法将此sp添加到方框中,则会出现一些代码,这些代码可能会有所帮助
编辑:它只显示sp正在运行的语句,而不显示参数。您可以更改存储的过程以记录参数吗?也许可以在表中插入诊断参数?您需要查看Adam Machanic的SP_WhoisActive。它提供您所需的所有信息,并以xml格式提供整个查询,因此您只需单击它,即可查看正在运行的内容。
您有权限执行sp_who2和dbcc,但不运行跟踪?您最近的编辑仍然只显示create proc定义,而不显示传递的参数。我刚刚尝试创建proc foo@a int作为wait for delay'01:00',然后exec foo 1我在输出中的任何位置都看不到参数的值。不过,这是一个很棒的工具,我仍然没有看到用于调用proc的参数。我是这样打电话的:exec sp_WhoIsActive@get_outer_command=1。它给了我两列——sql\u文本和sql\u命令。sql_命令给了我类似于MyDB.dbo.MyProc的东西;1,其中1是进程的版本号,而不是发送的参数。sql_text为我提供了进程中正在执行的语句。这个电话有很多选项,我是否缺少一个可以显示参数的选项?