我相信在数据库镜像中更改主数据库上的兼容模式会更改镜像数据库。
但事实证明这是错误的。我在 Primary 上查询使用sys.databases
,我将兼容模式更改为 120 ,但是在其镜像数据库上,兼容级别仍然是 100。为什么?
我在这里使用了不正确的 fn sys.databases 吗?
此外,如果它没有改变它的含义,我是否需要进行故障转移/故障回复以反映?
如果我有日志传送辅助数据库只读以及需要反映此更改的地方怎么办?那我需要重建日志传送吗?
谢谢
我相信在数据库镜像中更改主数据库上的兼容模式会更改镜像数据库。
但事实证明这是错误的。我在 Primary 上查询使用sys.databases
,我将兼容模式更改为 120 ,但是在其镜像数据库上,兼容级别仍然是 100。为什么?
我在这里使用了不正确的 fn sys.databases 吗?
此外,如果它没有改变它的含义,我是否需要进行故障转移/故障回复以反映?
如果我有日志传送辅助数据库只读以及需要反映此更改的地方怎么办?那我需要重建日志传送吗?
谢谢
以下
ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }
不会传播到数据库镜像或 AlwaysON 中的辅助服务器,因为它们会发送日志块与事务- (日志发送是您获取日志备份并将其发送到辅助服务器并恢复它们)。
当您根据 DB Compatibility level 与特定版本的 sql server 验证应用程序时,他们不应更改 DB 兼容性级别是有原因的。
这就像您更改数据库的所有者一样。当它变为主要时,您必须在辅助上更改它。
你不必打破镜像或 LS。您必须进行故障转移和故障回复。
对于日志传送,由于它是物理日志备份-复制-恢复,一旦您恢复数据库并使其联机或只读,它将反映更改。对于镜像,您可以只进行故障转移和故障回复。
关键是使数据库进入读/写状态,并在 AG 或镜像配置中更改数据库。