我正在尝试优化一组存储过程。这些存储过程位于服务器A上,并执行以下操作:
根据服务器A上的参数化查询删除服务器B上的数据
从B 删除(通过链接服务器)
做一些加入
在哪里A.x IN(@ ID1,@ ID2,@ ID3,@ ID4)
根据服务器A上的参数化查询在服务器B上插入数据
INSERT INTO B (通过链接服务器)
做一些加入
在哪里A.x IN(@ ID1,@ ID2,@ ID3,@ ID4)
当我尝试分析存储过程时,我没有获得有用的跟踪文件。当我跟踪服务器A时,我只看到存储过程的执行,但没有看到存储过程的内部查询,因为它们通过链接服务器引用服务器B.当我跟踪服务器B时,我看不到与服务器A上的存储过程相关的查询,我认为这是因为存储过程实际上是在服务器A上执行的。
简而言之:如何在服务器A上跟踪这些查询作为存储过程的一部分,以优化在服务器A和B上执行的查询?
答案 0 :(得分:3)
您必须跟踪存储过程:SP:StmtStarting和SP:服务器A和RPC上的StmtCompleted事件:在服务器B上完成