Sql-Server

兼容模式更改不會反映在輔助設備上

  • June 2, 2020

我相信在數據庫鏡像中更改主數據庫上的兼容模式會更改鏡像數據庫。

但事實證明這是錯誤的。我在 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 或鏡像的情況下真正改變它。

你不必打破鏡像或 LS。您必須進行故障轉移和故障回复。

對於日誌傳送,由於它是物理日誌備份-複製-恢復,一旦您恢復數據庫並使其聯機或只讀,它將反映更改。對於鏡像,您可以只進行故障轉移和故障回复。

關鍵是使數據庫進入讀/寫狀態,並在 AG 或鏡像配置中更改數據庫。

引用自:https://dba.stackexchange.com/questions/268085