2

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

4

3 回答 3

1

您可以运行 SQL Profiler 并选择 SPS 模板而不是默认模板。这将显示执行的每条语句,即使它位于存储过程中。要使用 SPS 模板,您需要执行以下操作:

  1. 文件 -> 新建跟踪
  2. 在打开的对话框中,转到组合“使用此模板”并选择 TSQL_SPs。
  3. 现在继续像往常一样设置分析会话。

一旦开始跟踪,您会发现它更加冗长。它将分解每个程序并逐行显示执行的内容。如果您需要任何其他详细信息,请告诉我。

于 2013-08-20T12:52:48.063 回答
0

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

于 2013-08-20T14:00:59.770 回答
0

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

于 2015-07-22T15:44:48.997 回答