找出哪些应用程序正在写入SQL表以及何时写入

时间:2012-05-08 15:05:32

标签: sql-server-2008 audit audit-tables

无论如何都要审核一个SQL表,在那里你可以获得诸如应用程序写入它以及何时写入它的信息?

有很多应用程序用户在这里使用,我已经梳理了每个应用程序,并且无法找到它们中的任何一个写入SQL Server中的这一个表。这是一个重要的表格。

这让我发疯了。

2 个答案:

答案 0 :(得分:1)

您必须从一开始就设置审计(通常通过写入包含写入表的用户或应用程序的审计表的触发器)。如果您没有在系统中设计审计,则无法找到过去数据的此信息。

设置可审核项时,您可能希望包含由这些系统变量填充的字段:

SUSER_SNAME(), 主机名(), APP_NAME() GETDATE()

答案 1 :(得分:0)

如果您知道它发生的确切时间,您可以使用sp_who2或sp_whoisactive类型的程序在 中捕获 ,这些程序会返回有关当前运行流程。

然而,听起来你无法预见到这个活动所以我建议运行SQL事件探查器跟踪并过滤有问题的数据库和表。请务必捕获有助于指责责任方的事件(LoginName,HostName等)。网上有无数文章引导您完成简单的追踪。