1

我正在尝试优化一组存储过程。这些存储过程位于服务器 A 上并执行以下操作:

  • 根据服务器 A 上的参数化查询删除服务器 B 上的数据

    从 B 中删除(通过链接服务器)在 Ax IN(@ID1、@ID2、@ID3、@ID4)上
    做一些加入

  • 根据服务器 A 上的参数化查询在服务器 B 上插入数据

    插入 B (通过链接服务器)

    Ax IN(@ID1、@ID2、@ID3、@ID4)上做一些连接

当我尝试分析存储过程时,我没有得到有用的跟踪文件。当我跟踪服务器 A 时,我只看到存储过程的执行,但没有看到存储过程的内部查询,因为它们是通过链接服务器引用服务器 B。当我跟踪服务器 B 时,我没有看到与服务器 A 上的存储过程相关的查询,我认为这是因为存储过程实际上是在服务器 A 上执行的。

简而言之:如何将这些查询作为服务器 A 上存储过程的一部分进行跟踪,以优化在服务器 A 和 B 上执行的查询?

4

1 回答 1

3

您必须跟踪存储过程:服务器 A 上的 SP:StmtStarting 和 SP:StmtCompleted 事件和服务器 B 上的 RPC:Completed

于 2009-07-14T09:55:46.987 回答