如何在系统版本时态表中保留修改器 ID?
How to Keep Modifier ID in System Versioned Temporal Tables?
我在 sql 服务器 2016 中有一个系统版本 table。我想在用户执行 时将修改器 ID 存储在其时间(历史)table 中]删除 或 更新 对 table 的操作。
sql 服务器 2016 是否有任何内置解决方案来做到这一点?
不,这是不可能的,因为时间 tables 和它们的历史 tables 必须具有完全相同的架构,即
- 列数
- 列名称
- 数据类型
- 甚至列的顺序
因此,除非您在 Temporal tables 本身中捕获修改器的 ID,否则您无法将此信息添加到历史记录 table。
如何在 Temporal table 本身中捕获此修改器的 ID 信息,这可以在应用程序层上处理。
您可以使用审核
我在 sql 服务器 2016 中有一个系统版本 table。我想在用户执行 时将修改器 ID 存储在其时间(历史)table 中]删除 或 更新 对 table 的操作。
sql 服务器 2016 是否有任何内置解决方案来做到这一点?
不,这是不可能的,因为时间 tables 和它们的历史 tables 必须具有完全相同的架构,即
- 列数
- 列名称
- 数据类型
- 甚至列的顺序
因此,除非您在 Temporal tables 本身中捕获修改器的 ID,否则您无法将此信息添加到历史记录 table。
如何在 Temporal table 本身中捕获此修改器的 ID 信息,这可以在应用程序层上处理。
您可以使用审核