Azure SQL 主 read/write 副本和辅助只读副本和主故障

Azure SQL Primary read/write replica and secondary read-only replica and primary failure

我正在关注此文档。

https://docs.microsoft.com/en-us/azure/azure-sql/database/read-scale-out

从文档中,我发现每个服务层都有一个读写副本和其他只读副本可用。还有关于“数据一致性”的段落。值得一提的是,数据将异步写入只读副本,因此存在复制腿的机会。现在,如果在读写副本上执行了一些操作,并且在它被复制到其他副本之前,如果主 read/writer 副本失败,那么我的遗嘱会丢失吗?有什么配置可以让我说如果数据同步写入至少 2-3 个副本,那么只有写入操作才能成功。

如有任何建议或帮助,我们将不胜感激。

不,不会有数据丢失,因为事务将在事务日志中提交,事务日志保存在 Azure 存储帐户中,该帐户通过提供冗余 (https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy?toc=/azure/storage/blobs/toc.json). Azure SQL (and SQL Server) uses Write-Ahead Log (WAL) to make sure no transaction can be considered concluded unless it has been written in the transaction log. (https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-transaction-log-architecture-and-management-guide?view=sql-server-ver15) 自动防止数据丢失。