SQL Server Delta Records拉动

时间:2017-09-13 10:27:01

标签: sql-server sql-server-2008 database-administration

在我们的SQL Server DB中,我们有大约800多个表,并且有40-50个表是业务关键表。 MIS团队需要根据这50个业务表生成报告。

这50个表经常更新。 MIS团队需要这些增量记录(更新/插入/删除)

什么是最好的解决方案?

我们这里的工作很少 1.Always On 2.Replication 3.Mirroring 4.在这50个表中引入新列(LastModifiedDate&创建索引)并定期提取这些记录并将其填充到MIS环境中。

新列LastModifiedDate方法会有巨大的代码更改。

基于这50个表,我们有大量的存储过程,它具有插入/更新

语句。在那些存储过程中,我们需要为LastModifiedDate进行代码更改。

上述方法中最好的解决方案是什么?

如果有任何其他方法,请告诉我们。注意:我们使用的是SQL Server 2008 R2

关心Karthik

1 个答案:

答案 0 :(得分:0)

一种方法是在这些表上具有插入,更新和删除触发器,并且对于每个表,具有完全相同列的存档表加上例如用户名,modifieddatetime和一点来表示新旧。然后触发器只是插入存档选择插入/删除+当前用户,当前时间和1表示已插入,0表示已删除。

然后您的所有MIS需要关注的是归档表,您不需要对现有表进行结构更改。