如何解决如何连续同步两个SQL Server数据库?
我有一个包含大量数据的SQL Server数据库,其中包含许多表,视图,触发器,存储过程等。其中一些表是:“用户”,“购物车”,“商店”等。
同时,我需要拥有此数据库的副本,该副本应在特定时间与主表同步。因此,我的主数据库中的更改应该每天在数据库副本中反映几次。此外,如果“用户”表中有更改,则此更新应立即触发同步。
在数据库副本中,我还有一些表'managers','schools'等,这些表不存在于主数据库中。同步时,这些附加表完全不应该更改,因为主数据库中不存在这些表。
因此,让我们独立于使用它们的解决方案来查看这些数据库。我想知道的是:建立这种同步的最佳方法是什么?数据库非常庞大,从一个位置查询另一个位置的每个数据库表的数据似乎不是一个好的选择。有什么通用的方法可以实现这种同步吗?是否应该在代码中完成此操作,或者应该在放置数据库的服务器上(在控制面板下)有一些触发器,还是通过SQL Server本身?我不确定这里最好的选择是什么,所以请提出建议。
我正在使用版本
Microsoft SQL Server 2017 (RTM-CU9-GDR) (KB4293805) - 14.0.3035.2 (X64) Jul 6 2018 18:24:36
Web Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor)
解决方法
您需要配置对象级别的复制,您可以在其中选择特定的表,存储过程,视图等。您的主要数据源将称为发布者,而辅助数据将被称为 您将存储此更改的位置称为订户。
复制可以完全满足您的要求。
复制的类型很多,并且假设不会从辅助位置发生更改,transactional replication最适合您的需求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。