【问题标题】:Schema for tracking SQL Server table updates用于跟踪 SQL Server 表更新的架构
【发布时间】:2015-07-29 16:05:43
【问题描述】:

我有一组 16 个 SQL Server 表,它们通过 Web UI 不断更新。我需要跟踪这些表发生的每一次更改,并每 10 分钟调用一个单独的系统,通过 Windows 服务发送每个插入或更新的行。

我可以复制架构并创建另一组 16 个类似表来跟踪原始组中的更改。每次修改相应的源表时,都会有触发器将新行插入跟踪表(加上 ins/upd 标志、时间戳等字段)。

我想知道有没有更好的方法可以使用 1 个(或几个)可以保存来自多个表的数据的公用表来做到这一点?不会强迫我维护一组重复的跟踪表?

【问题讨论】:

    标签: sql-server database-schema


    【解决方案1】:

    如果您有企业版,Change Data Capture 是一个可供您选择的选项。

    其他版本有Change Tracking,它不跟踪历史记录,但可以为您提供净变化。

    比较:https://technet.microsoft.com/en-us/library/Cc280519(v=SQL.105).aspx

    【讨论】:

    • 谢谢,这应该可以完美运行。但是以防万一 DBA 出于某种原因不允许启用 CDC,在不复制每个表的情况下手动管理跟踪的最佳方法是什么?
    • 首先与您的 DBA 交谈。我提供的链接是内置跟踪变化的方法,应该是阻力最小的路径。他们最好有一些非常充分的理由拒绝使用 SQL Server 功能,该功能可以满足您的需求并显着减少工作/数据的开销和重复。
    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    相关资源
    最近更新 更多