SQL Server Delta记录提取
问题描述:
在我们的SQL Server数据库中,我们有大约800多个表,并且有40-50个表是业务关键表。 MIS团队需要根据这50个业务表格生成报告。SQL Server Delta记录提取
这50个表经常更新。 MIS团队需要这些增量记录(更新/插入/删除)
什么是最佳解决方案?
我们这里有几个approches 1.Always在2.Replication 3.Mirroring 4.Introducing在这50台新列(LastModifiedDate &创建索引),并定期地拉这些记录,并将其填充到MIS环境。
新的列LastModifiedDate方法将会有巨大的代码更改。
此基础上50桌,我们的存储过程的数量庞大,它具有插入/更新
语句。在这些存储过程中,我们需要为LastModifiedDate进行代码更改。
从上述方案中最好的解决方案是什么?
请让我们知道是否有其他方法可以做。注意:我们使用SQL Server 2008 R2
问候KARTHIK
答
一种方法是有插入,更新和对这些表删除触发器,并为每个表存档表具有完全相同的列例如加用户名,修改日期时间和一点点来指示新旧。然后,触发器简单地插入到归档中,从插入的/删除的+当前用户中选择,当前时间,1代表插入,0代表删除。
然后,所有的管理信息系统都需要关注归档表,并且不需要对现有表进行结构更改。
感谢您的回复。我希望触发不会是更好的解决方案。 – Karthik
@Karthik如果创建150个触发器会让您担心,我有一个存储过程自动创建它们,我很乐意分享! –
兄弟,创建150个触发器在这里并不重要。我可以编写脚本来创建它。但影响是非常重要的,因为它是关键数据库并且频繁插入/更新。触发导致我希望的问题 – Karthik