共用方式為


變更資料庫相容性層級並使用查詢存放區

適用於:SQL Server - 僅限 Windows

在 SQL Server 2016 (13.x) 和更新版本中,某些變更只有在資料庫相容性層級變更之後才會啟用。 有數種原因可以完成這項作業:

  • 由於升級是單向作業 (無法將檔案格式降級),因此,將新功能的啟用與資料庫內的個別作業區隔開來有其重要性。 能夠將設定還原為先前的資料庫相容性層級。 新的模型可減少必須在中斷期間發生的事項數目。

  • 查詢處理器的變更會有複雜的影響。 儘管對系統進行一項「優化」變更可能對大部分工作負載來說是有利的,但對某些人的重要查詢而言可能會造成不可接受的性能倒退。 將此邏輯與升級過程分開,可以讓像查詢存放區這樣的功能快速減輕計劃選擇回歸的影響,甚至在生產環境中完全避免此類問題。

SQL Server 2017 (14.x) 在附加或還原資料庫時,以及就地升級之後,預期會有下列行為:

  • 如果使用者資料庫的相容性層級在升級前為 100 或更高層級,則在升級後仍會保持相同。
  • 如果使用者資料庫在升級前的相容性層級為 90,則在升級後的資料庫中,相容性層級會設定為 100,這是 SQL Server 2017 (14.x) 支援的最低相容性層級。
  • tempdbmodelmsdb 資料庫的相容性層級Resource會在升級後設定為目前的相容性層級。
  • master 系統資料庫會繼續保有升級前的相容性層級。

啟用新查詢處理器功能的升級程序與產品的發行後服務模型有關。 其中部分修正是在追蹤旗標 4199 下所發行。 需要修正的客戶可以選擇那些修正,而不會對其他客戶造成非預期的迴歸。 查詢處理器 Hotfix 的發行後服務模型記載在 這裡。 從 SQL Server 2016 (13.x) 開始,移到新的相容性層級表示不再需要追蹤旗標 4199,因為現在預設會在最新相容性層級中啟用那些修正。 因此,在升級過程中,務必在升級流程完成之後確認並未啟用 4199。

注意

如果適用,仍需追蹤旗標 4199,以啟用在 RTM 後發行的任何新查詢處理器修正。

如需了解將查詢處理器升級至最新版本程式碼的建議工作流程,請參閱 在升級至新版 SQL Server 期間查詢存放區使用案例中保持效能穩定性一節

此圖顯示將查詢處理器升級至最新版程式代碼的建議工作流程。

從 SQL Server Management Studio 18 開始,您可以使用查詢微調小幫手引導使用者完成建議的工作流程。 如需詳細資訊,請參閱 使用查詢微調小幫手升級資料庫