兼容模式更改不会反映在辅助设备上

Beg*_*DBA 4 sql-server mirroring sql-server-2014 compatibility-level

我相信在数据库镜像中改变主数据库的兼容模式会改变镜像数据库。

但事实证明这是错误的。我sys.databases在 Primary 上查询使用,我将兼容模式更改为 120 ,但是在其镜像数据库兼容级别仍然是 100。为什么?

我在 sys.databases 中使用了不正确的 fn 吗?

此外,如果它没有改变它的含义,我是否需要进行故障转移/故障回复来反映?

如果我有只读日志传送辅助数据库以及此更改需要反映的地方怎么办?那我需要重建日志传送吗?

谢谢

Kin*_*hah 8

以下

ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

不会传播到数据库镜像或 AlwaysON 中的辅助节点,因为它们传送日志块与事务- (日志传送您进行日志备份并将其传送到辅助服务器并恢复它们)。

当您根据数据库兼容性级别与特定版本的 sql server 认证应用程序时,他们不应该更改数据库兼容性级别是有原因的。

这与更改数据库的所有者相同。当它成为主要时,您必须在辅助上更改它。

如果可能的话,我怎样才能在不破坏 LS 或镜像的情况下真正改变它。

您不必打破镜像或 LS。您必须只进行故障转移和故障回复。

对于日志传送,由于它是物理日志备份-复制-还原,因此一旦您还原数据库并将其联机或只读,它将反映更改。对于镜像,您可以只进行故障转移和故障回复。

关键是使数据库处于读/写状态,并在 AG 或镜像配置中更改数据库。