在SQL Server 2008中,是否有一种优雅的方法来跟踪一个表的所有列的修改情况?

8 浏览
0 Comments

在SQL Server 2008中,是否有一种优雅的方法来跟踪一个表的所有列的修改情况?

我的数据库中有一张包含100列的表。我想创建一个触发器来审计每次更新操作的修改情况。\n我能想到的方法是为所有列创建更新语句,但它们都是相似的脚本。所以有没有更优雅的方法来做这个?

0
0 Comments

问题出现的原因:在SQL Server 2008中,是否有一种优雅的方式来跟踪一个表的所有列的修改。

解决方法:可以参考http://autoaudit.codeplex.com/上的技术,该技术使用代码生成的方式来实现。

0
0 Comments

问题的原因是问答中提到的一个资源链接,该链接提供了关于如何跟踪SQL Server 2008中一个表的所有列修改的信息。然而,该链接的标题并没有明确提到SQL Server 2008,因此可能会有人对该链接的适用性产生疑问。

解决方法是在回答中提供了另外一些资源链接,这些链接可能更适合解决问题。

以下是整理后的文章:

有这样一个问题:是否有一种优雅的方法来跟踪SQL Server 2008中一个表的所有列的修改?对此,有一个在MSDN上的资源链接可能会对你有所帮助。该链接提供了关于如何跟踪数据库中的更改(包括SQL Server 2008)的信息。这个链接是:Tracking Changes in the Server Database (including SQL Server 2008)。然而,在问答中并没有明确提到是否正在使用SQL Server 2008,因此会有人对该链接的适用性产生疑问。

为了公平起见,回答中还提供了其他一些资源链接,这些链接可能更适合解决这个问题。具体的代码实现没有在问答中提到,但可以通过点击链接获取更多信息。

希望这些资源对你有所帮助!

0
0 Comments

问题的原因是需要一种优雅的方法来跟踪SQL Server 2008中一个表的所有列的修改。解决方法是使用Change Data Capture (CDC)或Change Tracking。

CDC是一种提供对所有更改详细信息跟踪的方法,它从SQL Server 2008开始可用。但是需要注意的是,CDC仅适用于Enterprise、Developer和Evaluation版本的SQL Server。

另一种更轻量级的解决方案是Change Tracking,它是自SQL Server 2005以来可用的。这是一个同步框架,可以实现对所有列的修改跟踪。

此外,还提供了一些相关问题的链接,包括关于使用触发器、存储过程或应用程序级别的历史表的优缺点、在SQL Server中实现审计表的建议、软删除是否是一个好主意以及如何在SVN中对MS SQL数据库进行版本控制等。

总之,根据需要可以选择使用CDC或Change Tracking来跟踪SQL Server 2008中一个表的所有列的修改。

0