我们可以在另一个SP中使用Sql server profiler获取存储过程调用

时间:2013-08-20 12:23:09

标签: sql sql-server

我有一个名为 CreateUpdateNewOrder 的存储过程,我在其中调用名为 CreateClinicalDocument 的另一个SP现在我想看看我的第二个SP获得执行的确切值。我可以运行一个sql profiler工具来查看 CreateUpdateNewOrder 正在获取什么输入值,但我想不出任何其他方式获取内部SP调用的输入值,而不是在查询中打印它们。谁有更好的方法呢?

3 个答案:

答案 0 :(得分:1)

您可以运行SQL事件探查器并选择SPS模板而不是默认模板。这将显示每个执行的语句,即使它在存储过程中。要使用SPS模板,您需要执行以下操作:

  1. 文件 - >新痕迹
  2. 在打开的对话框中,转到组合“使用此模板”并选择TSQL_SPs。
  3. 现在继续像往常一样设置您的分析会话。
  4. 一旦你开始追踪,你会发现它更加冗长。它将分解每个程序并逐行显示执行的内容。如果您需要任何其他详细信息,请告诉我。

答案 1 :(得分:0)

这完全取决于您需要如何访问和使用信息,但将值记录到表中可能很有用。您也可以在SSMS中尝试调试并设置适当的断点。

答案 2 :(得分:0)

如果您查看分析器中的标准模板,您会在“存储过程”标题下的“事件选择”选项卡上看到它仅包含" RPC:已完成"。 T_SQL_SPs模板包括" SP:已完成"," SP_Starting"和" SP:StmtStarting"。我相信你只需要在你选择的任何模板中加入它们。