任何人都可以讨论如何逐步将 DDL 架构更改与 Always On Availability Groups 准确合并?我们在一个状态有一个主副本,在另一个状态位置有一个辅助副本。辅助副本将是只读异步的。
如果我要进行架构更改,包括任何种类...
... 我需要什么才能确保主副本 DDL 顺利流向次副本?
次要副本上的读取查询不会影响主 DML(数据修改、插入、更新、删除),并且会顺利进行,因为次要副本设置为读取快照隔离。
次要副本上的读取查询会影响主 DDL(模式更改、表结构更改),因为读取查询会放置模式锁。
停止对从副本的所有查询,进行主副本DDL,然后DDL变化会流向从副本。
此示例仅用于辅助只读异步。如果辅助副本是只读同步的怎么办?
其他背景:Primary Replica是OLTP,日夜事务。我们公司有一个部署变更管理时间窗口。假设我早上只有 1 小时来执行架构和 DDL 更改。我不能等待长时间的查询完成。在异步模式下,日志重做永远不会是最新的。
我记得读过 Microsoft 文章Active Secondary:Readable Secondary Replicas (Always On Availability Groups)