SQL Server:跟踪表插入

时间:2012-01-17 13:41:08

标签: sql-server-2008 transactions trace

我有一张表,每分钟都会插入新数据。根据我在这里的源代码,它只在一个不再使用的类中完成。

有没有办法追踪插页?我的意思是看看他们插入了哪些查询,谁发送了这些查询等。尽可能多的信息。

我自己尝试了几种方法(例如sp_who2 'Active'存储过程)但没有成功。我也可以访问运行SQL服务器的机器和事务备份文件(.trn文件),但不知道如何打开这些文件。

2 个答案:

答案 0 :(得分:3)

向插入后面的表添加触发器,并将这些变量插入到其他表中:

getdate(),
host_name(),
App_Name(),
suser_sname()

对我来说这已经够了

触发器如下所示:

CREATE TRIGGER YourTrigger On YourTable
AFTER INSERT
AS
SET NOCOUNT ON;

   INSERT logtable
   SELECT APP_NAME(), HOST_NAME(), SUSER_SNAME(), GETDATE(), * FROM INSERTED
GO

您可以使用Sql Server Profiler来捕获查询 - 它可能更灵活

答案 1 :(得分:0)

您可以像这样使用sp_depends

sp_depends tablename

这只会在同一个数据库中声明信息,但可能会说出您需要的信息!