2013-11-14 82 views
0

我有一个SQL Server 2005实例,我有一张表,我想跟踪,我们将调用Table1。我也有一个链接服务器,它将查询Table1。来自链接服务器的SQL Server跟踪查询

如果我设置我的跟踪,它将捕获事件,如果我从主机查询。如果我从链接服务器查询,我什么也没有捕获。

有没有人试过这样做,发现成功?提前致谢!

+0

难道你不能只在链接的服务器上设置跟踪?链接的服务器是实际执行SQL的服务器,所以这就是你必须运行跟踪的地方。 –

+0

是的,我相信我可以。我试图尽量减少痕迹的数量。好建议 - 我会保留它作为备份。 – hughball

回答

0

不是故意召唤一个老问题,但有些人可能会发现这个答案在未来会有帮助。

在您的跟踪中,您还需要指定一个名为RPC的事件:启动。这是执行远程过程调用时的触发器。

如果您使用的是SQL Server Profiler,则可以在Stored Procedures下拉列表中找到此事件。

如果要创建一个服务器端脚本,则需要打开事件11(RPC:Starting事件数) 例:

EXEC sp_trace_setevent @TraceID, 11, 1, 1 -- TextData: The SQL statement that was executed 

您可以找到其他的事件代码数和列数这里:https://msdn.microsoft.com/en-us/library/ms186265.aspx