有谁知道是否可以使用 SQL Server 2008 的数据库镜像功能仅镜像数据更改。我怀疑答案是不可能,但想看看我是否遗漏了什么。
如果没有,有谁知道有什么方法可以只将数据和表架构更改从源数据库复制到报告系统。我们不希望目标系统中有存储过程、视图、函数等。复制不需要是即时的,但我们试图避免的是必须执行完整的数据库复制,然后删除所有存储过程、视图和函数(由于备份的大小和这可能需要的时间)。
复制(就像成熟的 SQL Server 复制一样)不是一种选择——它已经过调查,并且会涉及数据库设计的一些更改,然后需要数周(如果不是更多的话)才能实际实施、测试和支持上述应用程序,以及限制和复杂化如何将更改应用于数据库(即,尽管复制可能技术上是正确的解决方案,但对于一系列流程管理和时间限制来说,这可能不会发生)。
干杯。
答案1
变更数据捕获(又名 CDC)可以捕获对数据的更改,然后您可以编写一些东西(比如 SSIS 包)来将这些更改传播到另一台服务器,但这需要一些努力,不确定它是否会比设置复制更多或更少,这取决于表的数量。
答案2
镜像肯定不能做到这一点,它只能镜像整个数据库。
如果 SQL Server 复制不是一种选项,我认为您将需要想出一个非内置的解决方案来执行此任务。
两台服务器之间的“连接”程度如何?我能想到的下一件事是将目标服务器设置为 SQL Server 中的“链接服务器”。然后,您可以在源服务器上使用数据库触发器来使用链接服务器更新目标服务器。不过,您需要小心触发器中的命名约定,它必须是这样的server.database.schema.object
。我认为服务器也需要(从网络角度)彼此非常接近,才能以任何可靠性工作。