无需外部组件,能否在两个SQL Azure(vCore)数据库配置表复制?
实现Azure SQL数据库的两种复制需求方案
可以实现你提到的两种复制需求,但因为Azure SQL数据库无法担任分发者角色,必须引入外部分发服务器(比如本地部署的SQL Server实例,或是Azure虚拟机上运行的SQL Server)作为中间环节,具体方案如下:
1. 主表每日快照复制
- 以外部SQL Server作为分发者,将你的主Azure SQL数据库配置为快照发布者,创建仅包含目标主表的快照发布。
- 在分发服务器上配置SQL Server代理,设置每日定时触发快照代理作业,生成主表的快照文件。
- 将另一个Azure SQL数据库配置为该快照发布的订阅者,完成快照订阅的配置,即可实现每日一次的主表数据同步。
2. 事务表实时复制
- 同样以外部SQL Server作为分发者,将主Azure SQL数据库配置为事务发布者,创建包含目标事务表的事务发布。
- 启用事务复制的实时同步机制(确保发布设置为允许即时事务传递),将另一个Azure SQL数据库配置为事务订阅者。
- 事务代理会实时捕获主库事务表的变更,通过分发服务器同步到订阅端的Azure SQL数据库,实现实时复制。
关键注意事项
- 外部分发服务器需要通过Azure SQL数据库的防火墙规则,获得访问两个Azure SQL数据库的权限。
- 确认你的Azure SQL数据库(vCore模式)支持发布者角色(当前vCore版本已支持该功能)。
- 快照复制的定时调度可通过SQL Server代理或Azure自动化服务完成,确保每日执行的稳定性。
内容的提问来源于stack exchange,提问作者manishKungwani
相关产品推荐
相关产品推荐

