如何跟踪对数据库所做的所有更改并保存以供审阅?

时间:2011-02-15 23:26:44

标签: c# sql-server-2008

我正在构建一个用户可以添加,更新数据的应用程序。

有没有办法跟踪数据库的更改并将这些轨道保存在文件或其他数据库中。例如。

提前致谢。

4 个答案:

答案 0 :(得分:1)

我从未尝试过它们,但有内置工具和实用程序:

SQL Server Change Tracking

答案 1 :(得分:0)

在SQL Server中,有一个Query Profiler可以对实时数据库运行跟踪并将所有查询记录到另一个数据库或文件

http://msdn.microsoft.com/en-us/library/ms187929.aspx

答案 2 :(得分:0)

您可以对要跟踪的表使用触发器,使用这些触发器可以确定哪些字段已更改(或者是否已插入或删除了记录),然后将相应的条目写入审计表。 / p>

以下是我在快速搜索后发现的一篇文章... Adding simple trigger-based auditing to your SQL Server database(在关键字sql server trigger audit上搜索应该会给您带来很多满足感和知识)。

答案 3 :(得分:0)

我们目前使用Audit表来执行此操作。因此,对于每个“表”,都存在相应的“Table_AT”,并且每个CRUD操作都有触发器。因此,在任何CRUD函数上,新数据都将写入审计表。

此链接包含示例http://web.archive.org/web/20071006100909/http://sqlserver2000.databases.aspfaq.com:80/how-do-i-audit-changes-to-sql-server-data.html