SQL Server 2012:是否可以免除某些列触发历史记录 table 更新?

SQL Server 2012: Is it possible to exempt some columns from triggering a history table update?

我创建了一个数据库来跟踪我公司的计算机。目标是每晚自动更新数据,并在历史记录 table 中跟踪任何更改。我创建了一个时间 table 并且一切似乎都正常。但是,我想为每个计算机帐户免除包含来自 AD 的 lastLogon 的列。数据历史无关紧要,它会导致对历史记录进行许多不必要的更新 table,我担心它会增长得太快。有没有办法做类似 "Update the history table on changes to any column EXCEPT m_lastLogon"?

的事情

根据 Borko Novakovid(SQL 服务器团队的项目经理)的评论,您不能排除列。

他的评论是

Currently we do not support filtering out changes that occur on columns one is not interested to track in DW schema (I guess that was the question). We are aware that some people need this capability, but modifying ETL logic to exclude these updates is also viable option...

这是 link 网页

https://channel9.msdn.com/Shows/Data-Exposed/Temporal-in-SQL-Server-2016

您能够做到这一点的唯一方法是将 m_lastlogon 信息存储在一个单独的、非临时的 table 中。但是,您正在以这种方式丢失一些可能有价值的日志记录信息,尤其是关于使用模式和可能的意外损坏跟踪。可以选择与硬件关联的简单登录日志table,这样只跟踪登录信息,减少对其余信息不必要的多次记录。