Ash*_*pta 12 sql triggers sql-server-2008
我们在Web应用程序上使用触发器实现审计跟踪.这些触发器记录字段级别更新.因此,在表格中,如果您更改了5个列值,则审计跟踪中有5个记录,每个列具有旧值和新值.
最近我们已升级到SQL Server 2008.我一直在考虑使用新的更改数据捕获功能,因为它提供了非常简洁的行级更新,而且工作量非常简单,而且非常容易实现.只是想从那些使用变更跟踪的人那里获得一些意见,以获取任何警告或任何其他真实有用的信息.
任何意见将是有益的.
编辑: - http://technet.microsoft.com/en-us/magazine/2008.11.sql.aspx?pr=blog
我在我的WPF应用程序中使用CDC.效果很好,但我发现了三个问题:
MERGE语句将记录添加到历史表中).因为我发现记录只在变更表中停留了大约2-3天.不要忘记备份cdc.lsn_time_mapping表.无论如何,CDC是非常有用的机制,可以帮助我跟踪数据库的所有变化.
SQL Server中总共有四个解决方案,详细信息如下:
SQL Server更改跟踪[CTC]
优点
缺点
SQL Server更改数据捕获[CDC]
优点
缺点
未捕获有关进行更改的用户的信息,因为您可能需要在每个要跟踪的表中创建一些额外的列,列如下:
CreatedAt datetime default(getdate()),CreatedBy nvarchar(100)default(suser_sname()),UpdatedAt datetime default(getdate()),UpdatedBy nvarchar(100)default(suser_sname())
带触发器的审计跟踪[通用解决方案]
优点
缺点
| 归档时间: |
|
| 查看次数: |
10105 次 |
| 最近记录: |