如何在同一Azure SQL Server内实现Az-DB-1到Az-DB-2的数据同步
同一Azure SQL Server实例内数据库持续同步方案
针对你在同一Azure SQL Server实例(Az-SQL-SRV1)下的Az-DB-1(主库)和Az-DB-2(备份库)的持续同步需求,以下是几种可行方案:
1. 事务复制
事务复制可实现主库到备份库的近实时数据同步,适合低延迟、细粒度同步场景:
- 在
Az-DB-1创建事务发布,选择需同步的表、视图等数据库对象 - 将
Az-DB-2配置为该发布的推送订阅,设置同步代理持续运行,确保主库事务提交后快速同步至备份库 - 优势:同步延迟低,支持增量同步,无需全量备份恢复
2. 日志传送
日志传送通过定期备份主库事务日志、复制到备份库并还原的方式实现同步,适合对延迟容忍度稍高的场景:
- 配置
Az-DB-1定期将事务日志备份到Azure存储账户 - 在
Az-DB-2上设置日志还原作业,从存储账户拉取最新日志并完成还原(需将备份库设置为完整恢复模式) - 可通过调整日志备份和还原频率控制同步延迟,最低可设置为每分钟一次
3. 自定义同步逻辑(适合简单场景)
若数据库对象较少或同步规则简单,可使用弹性作业或Azure Functions实现自定义同步:
- 编写T-SQL脚本实现增量数据同步(比如基于时间戳或自增ID筛选需同步的数据)
- 通过Azure弹性作业定期执行该脚本,或在主库数据变更时触发Azure Functions执行同步
- 优势:灵活定制同步规则;劣势:需自行维护同步逻辑,复杂场景下稳定性和性能不如内置同步方案
内容的提问来源于stack exchange,提问作者rehman
相关产品推荐
相关产品推荐

