閱讀英文

共用方式為


SQL Server 2022 的新功能

適用於:SQL Server 2022 (16.x)

SQL Server 2022 (16.x) 以舊版為基礎,可使 SQL Server 發展為平台,讓您能夠選擇開發語言、資料類型、內部部署或雲端環境,以及作業系統。

下列影片將介紹 SQL Server 2022 (16.x)。

 

如需其他影片內容,請參閱:

本文摘要說明 SQL Server 2022 (16.x) 的新功能和增強功能。

取得 SQL Server 2022 (16.x)

取得 SQL Server 2022 評估版。 組建編號:16.0.1000.6。

如欲了解詳細資訊和已知問題,請參閱 SQL Server 2022 版本資訊

如需 SQL Server 2022 (16.x) 的最佳體驗,請使用最新的工具

功能要點

下列各節將說明我們在 SQL Server 2022 (16.x) 中引進的增強功能。

分析

新功能或更新 詳細資料
適用於 SQL 的 Azure Synapse Link 在 SQL Server 2022 (16.x) 中取得近乎即時的作業資料分析。 透過 SQL Server 2022 (16.x) 中的作業存放區與 Azure Synapse Analytics 專用 SQL 集區之間順暢整合,適用於 SQL 的 Azure Synapse Link 可讓您以新的變更摘要技術,在對來源資料庫產生最低限度影響的情況下,用操作資料執行分析、商業智慧和機器學習案例。

如需詳細資訊,請參閱什麼是適用於 SQL 的 Azure Synapse Link?

另請參閱 適用於 SQL 的 Azure Synapse Link 的限制和已知問題
物件儲存體整合 SQL Server 2022 (16.x) 為資料平台引進新的物件儲存體整合,讓您除了 Azure 儲存體之外,還可整合 SQL Server 與 S3 相容的物件儲存體。 第一項是備份至 URL,第二項是資料湖虛擬化。

資料湖虛擬化可整合 PolyBase 與 S3 相容的物件儲存體,新增了使用 T-SQL 查詢 parquet 檔案的支援。
資料虛擬化 從 SQL Server 查詢不同資料來源類型的不同資料類型。

SQL Server 2022 (16.x) 累積更新 2 現在引進 Oracle TNS 檔案的支援。 如需更多資訊和範例,請參閱 CREATE EXTERNAL DATA SOURCE (Transact-SQL) CONNECTION_OPTIONS

可用性

新功能或更新 詳細資料
連結至 Azure SQL 受控執行個體 為災害復原和移轉,在 SQL Server 執行個體之間將資料複寫至 Azure SQL 受控執行個體。 請參閱受控執行個體連結的概觀
封閉式可用性群組 建立 Always On 可用性群組,以便:

- 在可用性群組層級以及執行個體層級管理其本身的中繼資料物件(使用者、登入、權限、SQL Agent 作業等)。
- 包含在可用性群組中的專門封閉系統資料庫。 如需詳細資訊,請參閱什麼是自主可用性群組?
分散式可用性群組 目前使用多個 TCP 連線來提高網路頻寬的使用率,即便在 TCP 延遲較長的遠端連結中,也能有效提升傳輸效率。
改善備份中繼資料 backupset 系統資料表會傳回上次有效的還原時間。 請參閱 backupset

安全性

新功能或更新 詳細資料
Microsoft Defender 雲端整合 使用適用於 SQL 的 Defender 方案保護您的 SQL Server。 適用於 SQL 的 Defender 方案需要啟用適用於 Azure 的 SQL Server 延伸模組,並包含功能來探索和減輕潛在資料庫弱點,以及偵測可能表示資料庫威脅的異常活動。 如需適用於 SQL 的 Defender 如何保護整個資料庫資產的詳細資訊,請參閱適用於 Azure SQL 的 Microsoft Defender 概觀
Microsoft Purview 整合 將 Microsoft Purview 存取原則套用至同時在 Azure Arc 和 Microsoft Purview 資料使用管理中註冊的任何 SQL Server 執行個體。

新引進的 SQL 效能監視器SQL 安全性稽核者角色,使用 Microsoft Purview 存取原則與最低權限原則保持一致。

如需詳細資料,請參閱由 Azure Arc 支援的 SQL Server 中由資料擁有者設定的存取權。
總帳 總帳功能可在資料庫中提供竄改證據功能。 您可以透過密碼編譯的方式,向其他對象 (例如稽核者或其他商業合作對象) 證明您的資料未遭竄改。 請參閱總帳概觀
Microsoft Entra 驗證 使用 驗證 搭配 Microsoft Entra ID (先前稱為 Azure Active Directory) 來連線至 SQL Server。

自 SQL Server 2022 (16.x) 累積更新 6 起,您可以使用 Microsoft Entra 驗證設定交易複寫 — 在累積更新 12 中一般可用 (GA)。
Always Encrypted 使用安全記憶體保護區進行加密 在使用 enclaves 的機密查詢中,支援 JOIN、GROUP BY 和 ORDER BY,以及使用 UTF-8 定序的文字資料行。 增強效能。 請參閱具有安全區域的 Always Encrypted
存取控制:權限 新的細微權限可改善遵循 最低權限原則的情況

如需深入說明,請參閱這裡的最低權限原則與外部原則的全新 SQL 權限系統 (英文)
存取控制:伺服器層級角色 新的內建伺服器層級角色可為應用於整個 SQL Server 執行個體的管理工作啟用最低特權存取。
動態資料遮罩 更精細的 UNMASK 權限適用於 動態資料遮罩
支援 PFX 憑證和其他密碼編譯改進 新增匯入和匯出 PFX 檔案格式憑證和私密金鑰的支援。 能夠將主要金鑰備份還原至 Azure Blob 儲存體。 SQL Server 產生的憑證,目前具有 3072 位元的預設 RSA 金鑰大小。

已新增 BACKUP SYMMETRIC KEYRESTORE SYMMETRIC KEY

另請參閱 BACKUP CERTIFICATE
支援 MS-TDS 8.0 通訊協定 新的 MS-TDS 通訊協定版本。 請參閱 TDS 8.0 支援TLS 1.3 支援

- 強制加密
- 讓 MS-TDS 與 HTTPS 保持一致以便網路設備管理,進而提高安全性
- 移除 MS-TDS/TLS 自訂交錯,並允許使用 TLS 1.3 和後續 TLS 通訊協定版本。

效能

新功能或更新 詳細資料
系統頁鎖並發性能增強 同時更新全域配置對應 (GAM) 頁面和共用的全域配置對應 (SGAM) 頁面,可以在配置/解除配置資料頁面和範圍時減少頁面閂鎖競爭。 這些增強功能適用於所有使用者資料庫,並對 tempdb 大量工作負載特別有幫助。
緩衝集區平行掃描 利用多個 CPU 核心,提高大型記憶體電腦上緩衝集區掃描作業的效能。 進一步了解觸發緩衝池掃描的作業在大記憶體電腦上可能會運行緩慢
已排序的叢集資料行存放區索引 已排序的叢集數據行存放區索引 (CCI) 會在索引產生器將數據壓縮成索引區段之前,先排序記憶體中現有的數據。 這可能會更有效率地刪除區段,由於減少了從磁碟讀取的區段數目,因此效能會更高。 如需詳細資訊,請參閱 CREATE COLUMNSTORE INDEX資料行存放區索引的新功能。 請參閱使用已排序的數據行存放區索引 效能微調
改善的列存儲區段消除 所有資料行存放區索引都可利用依資料類型刪除區段的增強功能。 在資料行存放區索引的查詢中,資料類型的選擇可能會對依賴於常見篩選述詞的查詢效能造成重大影響。 此區段的刪除適用於數值、日期和時間數據類型,以及小數位數小於或等於二的 datetimeoffset 數據類型。 從 SQL Server 2022 (16.x) 開始,區段刪除功能會擴充到字串、二進位、GUID 資料類型,以及小數位數大於二的 datetimeoffset 資料類型。
記憶體內部 OLTP 管理 改善大型記憶體伺服器中的記憶體管理,以減少記憶體不足的情況。
虛擬記錄檔增長 在過去版本的 SQL Server 中,如果下次成長超過目前日誌大小的 1/8,且成長小於 64 MB,則會建立四個 VLF。 在 SQL Server 2022 (16.x) 中,此行為稍有不同。 如果成長小於或等於 64 MB 且超過目前記錄大小的 1/8,則只會建立一個 VLF 檔案。 如需 VLF 成長的詳細資訊,請參閱虛擬記錄檔 (VFS)
執行緒管理 - ParallelRedoThreadPool:實例級別的執行緒池已與所有進行重做作業的資料庫共享。 如此一來,每個資料庫都可以利用平行重做的優點。 平行重做執行緒集區讓多個執行緒可以同時處理單一資料庫的日誌記錄。 在舊版中,重做可用的執行緒數量限制為 100。

- ParallelRedoBatchRedo:記錄檔記錄的重做會在一個閂鎖下更快速地批次處理。 這可改善恢復、補後重做和崩潰恢復重做。
減少緩衝集區 I/O 提升情況 減少從儲存體填入緩衝集區時,將單一頁面擴展到八個頁面,導致不必要輸入/輸出的情況。 緩衝區可透過預讀機制更有效率地加載。 這項變更是在 SQL Server 2022 (所有版本) 中引進,並包含在 Azure SQL Database 和 Azure SQL 受控執行個體中。
增強的自旋鎖演算法 自旋鎖在引擎內的多執行緒一致性中扮演著重要角色。 資料庫引擎的內部調整使自旋鎖更有效率。 這項變更是在 SQL Server 2022 (所有版本) 中引進,並包含在 Azure SQL Database 和 Azure SQL 受控執行個體中。
改善的虛擬記錄檔 (VLF) 演算法 虛擬記錄檔 (VLF) 是實體交易記錄的抽象概念。 根據日誌增長,擁有大量的小型 VLF 可能會影響諸如復原等操作的效能。 我們已更改演算法,以決定在特定日誌增長情況下建立多少 VLF 檔案。 若要深入了解我們在 SQL Server 2022 (16.x) 中如何變更此演算法,請參閱虛擬記錄檔 (VFS)。 這項變更是在 SQL Server 2022 (所有版本) 中引進,並包含在 Azure SQL Database 中。
交易記錄檔成長事件的即時檔案初始化 一般而言,交易記錄檔無法受惠於檔案立即初始化 (IFI)。 從 SQL Server 2022 (16.x)(所有版本)開始,在 Azure SQL Database 中,快速文件初始化可能有助於交易記錄成長事件,最高達 64 MB。 新資料庫的預設自動成長大小增量為 64 MB。 大於 64 MB 的交易記錄檔自動成長事件無法受益於檔案立即初始化。 如需詳細資訊,請參閱資料庫檔案立即初始化

查詢存放區和智慧查詢處理

智慧查詢處理 (IQP) 功能系列都包含功能,能夠以最少的實作投入量改善現有工作負載的效能。

智慧查詢處理功能系列及各項功能何時第一次引進 SQL Server 的圖表。

新功能或更新 詳細資料
次要複本上的查詢存放區 在次要複本上的「查詢存放區」可對次要複本的工作負載提供與主要複本相同的查詢存放區功能。 進一步了解次要複本的查詢存放區

如需詳細資訊,請參閱本文稍後的查詢存放區改進
查詢存放區提示 查詢存放區提示會使用查詢存放區,讓您無須變更應用程式程式碼,就能使查詢計劃成形。 查詢存放區提示先前只適用於 Azure SQL Database 和 Azure SQL 受控執行個體,現在則適用於 SQL Server 2022 (16.x)。 需要啟用查詢存放區並處於「讀寫」模式。
記憶體授與意見反應 記憶體配置意見回饋會根據過去的效能調整查詢所需的記憶體大小。 SQL Server 2022 (16.x) 引進百分位和持續性模式記憶體配置回饋。 需要啟用查詢儲存庫。

- 持續性:一種功能,可將指定快取計劃的記憶體授予回饋保存在查詢存放區中,從而在快取遭到驅逐後能夠重複使用回饋。 持續性對記憶體反饋以及新的 DOP 和 CE 反饋功能都有很大幫助。

- 百分位數:新的演算法使用來自數個先前查詢執行的記憶體授與資訊,而不只是來自上一個查詢執行的記憶體授與,提高了具有各種不定記憶體需求的查詢效能。 需要啟用查詢存放區。 從 SQL Server 2022 CTP 2.1 起,預設會為新建立的資料庫啟用查詢存放區。
參數感知計劃最佳化 自動為單一參數化陳述式啟用多個使用中快取計劃。 快取的執行計畫會根據客戶提供的執行階段參數值,因應截然不同的資料大小。 如需詳細資訊,請參閱參數敏感性計劃最佳化
平行處理原則程度 (DOP) 意見反應 新的資料庫範圍設定選項 DOP_FEEDBACK 會自動調整重複查詢的平行處理原則程度,將平行處理原則效率不佳可能會導致效能問題的工作負載最佳化。 類似於 Azure SQL Database 中的最佳化。 需要啟用查詢存放區並處於「讀寫」模式。

從 RC 0 開始,對於每次查詢的重新編譯,SQL Server 會將使用現有反饋的查詢執行階段統計資料,與先前編譯中具有相同反饋的執行階段統計資料進行比較。 如果效能沒有達到相同或更好,我們會清除所有 DOP 的回饋,並從已編譯的 DOP 開始重新分析查詢。

請參閱平行處理原則程度 (DOP) 意見反應
基數估計意見反應 識別並修正重複查詢的次佳查詢執行計劃,這些問題是由不正確的估計模型假設所造成。 需要啟用查詢存放區並處於「讀寫」模式。 請參閱基數估計 (CE) 意見回饋
最佳化強制執行計劃 使用編譯重播,透過預先快取不可重複的計劃編譯步驟,來改善強制計劃生成的編譯時間。 如需更多資訊,請參閱透過查詢儲存庫強制執行最佳化計劃

管理

新功能或更新 詳細資料
適用於 SQL Server 之 Azure 延伸模組的整合式安裝體驗 在安裝時安裝適用於 SQL Server 的 Azure 延伸模組。 Azure 整合功能的必備要素。 如需詳細資訊,請參閱

- 從命令提示字元安裝 SQL Server
- 從安裝精靈 (安裝程式) 安裝 SQL Server
管理適用於 SQL Server 的 Azure 延伸模組 使用 SQL Server 組態管理員來管理適用於 SQL Server 服務的 Azure 延伸模組。 建立由 Azure Arc 啟用的 SQL Server 執行個體,以及其他 Azure 連線功能的必要項目。 請參閱 SQL Server 組態管理員
最大伺服器記憶體計算 在安裝期間,SQL 安裝程式會建議最大伺服器記憶體的值,以符合記載的建議。 此基礎計算在 SQL Server 2022 (16.x) 中會不同,以反映建議的伺服器記憶體設定選項
加速資料庫復原 (ADR) 改進 我們提供了幾項改進,以解決持續性版本存放區 (PVS) 儲存體的問題,並改善整體可擴縮性。 SQL Server 2022 (16.x) 會實作多線程永續性版本存放區清除器。 PVS 頁面追蹤器的記憶體使用量已改善。 另外還有幾項 ADR 效率改進,例如協助清除程序更有效率地運作的並行改進。 ADR 會清除先前因為鎖定而無法清除的頁面。

請參閱 SQL Server 2022 (16.x) 中的 ADR 改進
改進的快照備份支持 新增 Transact-SQL 支援,不需要 VDI 用戶端即可凍結和解除凍結 I/O。 建立 Transact-SQL 快照集備份
壓縮資料庫 WAIT_AT_LOW_PRIORITY 在舊版中,壓縮資料庫和資料庫檔案以回收空間通常會導致並行問題。 SQL Server 2022 (16.x) 新增 WAIT_AT_LOW_PRIORITY 作為縮減操作(DBCC SHRINKDATABASE 和 DBCC SHRINKFILE)的額外選項。 當您指定 WAIT_AT_LOW_PRIORITY 時,等候中的縮減操作不會封鎖需要 Sch-S 或 Sch-M 鎖定的新查詢,直到縮減操作停止等候並開始執行為止。 請參閱壓縮資料庫壓縮檔案
XML 壓縮 XML 壓縮提供了一種壓縮資料列外 XML 資料的方法,適用於 XML 資料行和索引,以提升儲存容量的需求。 如需詳細資訊,請參閱 CREATE TABLECREATE INDEX
非同步自動更新統計資料並行處理 如果您啟用 ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY資料庫範圍設定,請使用非同步的統計資料更新,以避免發生潛在的並行問題。
備份和還原至與 S3 相容的物件儲存體 SQL Server 2022 (16.x) 透過使用 REST API 新增對新 S3 連接器的支援來擴充 BACKUP/RESTORETO/FROMURL 語法。 請參閱備份至 URL

平台

新功能或更新 詳細資料
已移除 SQL Server Native Client (SNAC) SQL Server Native Client (SNAC) 未隨附:
  • SQL Server 2022 (16.x) 及更新版本
  • SQL Server Management Studio 19 與更新版本
不建議使用 SQL Server Native Client (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 開發新的應用程式。針對新專案,請使用下列其中一個驅動程式: 針對 SQL Server 資料庫引擎 (2012 到 2019 版) 的隨附元件 SQLNCLI,請參閱支援生命週期例外狀況
具有直接寫入的混合式緩衝集區 減少必須對 PMEM 裝置上已修改資料或索引頁面執行的 memcpy 命令數目。 這項新功能現在適用於 Window 2022 和 Linux。 如需詳細資料,請參閱具有直接寫入的混合式緩衝集區在 Windows 上設定 SQL Server 的持續性記憶體 (PMEM)
整合式加速與卸載 SQL Server 2022 (16.x) 利用 Intel 等合作夥伴的加速技術提供擴充功能。 發行時,Intel® QuickAssist Technology (QAT) 會提供備份壓縮和硬體卸載。 如需詳細資訊,請參閱整合式加速與卸載
改進最佳化 SQL Server 2022 (16.x) 利用新的硬體功能 (包括 Advanced Vector Extension (AVX) 512 延伸項目) 改善批次模式作業。 需要追蹤旗標 15097。 請參閱 DBCC TRACEON - 追蹤旗標 (Transact-SQL)

語言

新功能或更新 詳細資料
可繼續的新增資料表條件約束 支援暫停與繼續執行 ALTER TABLE ADD CONSTRAINT 的操作。 在維護期間、容錯移轉或系統失敗之後繼續這類作業。
建立索引 已新增線上索引作業子句WAIT_AT_LOW_PRIORITY
異動複寫 點對點複寫會啟用衝突偵測和解決來允許以最後寫入者為準。 最初在 SQL Server 2019 (15.x) CU 13 中引進。 如需詳細資訊,請參閱以最後寫入勝出的方式自動處理衝突
建立統計 新增 AUTO_DROP 選項

低優先順序的自動統計資料。
SELECT ... WINDOW 子句 確定在套用使用 OVER 子句的視窗函數之前對資料列進行分割和排序。 請參閱 SELECT - WINDOW
與[非]不同於 判斷兩個運算式互相比較時是否評估為 Null,並保證結果為 true 或 false 值。 如需詳細資訊,請參閱 IS [NOT] DISTINCT FROM (Transact-SQL)
時間序列函數 您可以使用時間範圍、彙總和篩選功能來儲存和分析隨時間變更的資料。
- DATE_BUCKET
- GENERATE_SERIES

下列函數在 IGNORE NULLSRESPECT NULLS 新增支援:
- FIRST_VALUE
- LAST_VALUE
JSON 函式 - ISJSON
- JSON_PATH_EXISTS
- JSON_OBJECT
- JSON_ARRAY
彙總函數 - APPROX_PERCENTILE_CONT
- APPROX_PERCENTILE_DISC
T-SQL 函數 - 邏輯函數 - 最大值
- 邏輯函數 - LEAST
- STRING_SPLIT
- DATETRUNC
- LTRIM
- RTRIM
- TRIM
位元操作函數 - 左位移 (Transact SQL)
- RIGHT_SHIFT(Transact-SQL)
- BIT_COUNT (Transact SQL)
- GET_BIT (Transact SQL)
- SET_BIT (Transact SQL)

工具

新功能或更新 詳細資料
Azure Data Studio 前往下載並安裝 Azure Data Studio 以取得最新版本。 最新版本包含 SQL Server 2022 (16.x) 的支援。
分散式重播 SQL Server 安裝程式不再包含 Distributed Replay 用戶端和控制器可執行檔。 這些以個別下載方式連同 Admin 可執行檔一起提供
SQL Server Management Studio SSMS 19.0 版現已可供使用,而且是 SQL Server 2022 (16.x) 的建議 SSMS 版本。 下載 SQL Server Management Studio (SSMS).
SqlPackage.exe SqlPackage 19 版支援 SQL Server 2022 (16.x)。 前往下載並安裝 sqlpackage 取得最新版本。
VS Code VS Code 1.67 版和更新版本支援 SQL Server 2022 (16.x)。 前往 https://code.visualstudio.com/ 以取得最新版本。

SQL 機器學習服務

從 2022 SQL Server (16.x) 開始,R、Python 和 JAVA 的執行階段將不再隨 SQL 安裝程式一起安裝。 反之,請安裝任何所需的自訂執行階段和套件。 如需詳細資訊,請參閱在 Windows 上安裝 SQL Server 2022 機器學習服務 (Python 和 R)在 Linux 上安裝 SQL Server 2022 機器學習服務 (Python 和 R)

其他資訊

本節提供先前強調功能的其他資訊。

查詢存放區改進

查詢存放區可協助您更妥善地追蹤效能歷程記錄、針對查詢計劃相關問題進行疑難排解,以及在 Azure SQL Database、Azure SQL 受控執行個體和 SQL Server 2022 (16.x) 中啟用新功能。 CTP 2.1 引入了 "查詢儲存庫",並為新的資料庫預設啟用。 如果您需要啟用 查詢存放區,請參閱啟用 查詢存放區

  • 對於從其他 SQL Server 執行個體還原的資料庫,以及就地升級至 SQL Server 2022 (16.x) 的資料庫,這些資料庫會保留先前的查詢存放區設定。

  • 針對從先前 SQL Server 執行個體還原的資料庫,請個別評估資料庫相容性層級設定,因為相容性層級設定會啟用某些智慧查詢處理功能。

如果擔心查詢存放區可能會造成的額外負荷,系統管理員可以使用自訂擷取原則來進一步調整查詢存放區擷取的內容。 自訂擷取原則可用來協助進一步調整查詢存放區擷取。 自訂擷取原則可用來進一步選擇要擷取哪些查詢和查詢詳細資料。 例如,系統管理員可以選擇只擷取成本最高的查詢、重複的查詢,或計算額外負荷程度很高的查詢。 自訂擷取原則可協助查詢存放區擷取工作負載中最重要的查詢。 除了 STALE_CAPTURE_POLICY_THRESHOLD 選項,這些選項會定義必須進行的 OR 條件,以便在定義的過時擷取原則閾值中擷取查詢。 例如,以下是 QUERY_CAPTURE_MODE = AUTO 中的預設值:

SQL
...
QUERY_CAPTURE_MODE = CUSTOM,
QUERY_CAPTURE_POLICY = (
STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
)
...

SQL Server 服務設定為 [自動 (延遲啟動)] 啟動模式

在 SQL Server 2022 (16.x) 和更新版本,您在組態管理員中將 SQL Server 服務 [啟動模式] 設定為 [自動] 時,服務會改以 [自動 (延遲啟動)]模式啟動,即使 [啟動模式]顯示為 [自動] 也一樣。

SQL Server Analysis Services

此版本引進效能、資源治理與用戶端支援的新功能和改善。 如需特定更新,請參閱 SQL Server Analysis Services 的新功能

SQL Server Reporting Services

此版本引進了無障礙功能、安全性、可靠性的新功能和改進,以及修正了Bug。 如需特定更新,請參閱 SQL Server Reporting Services (SSRS) 的新功能

SQL Server Integration Services

如需 SQL Server Integration Services 相關的變更,請參閱整合服務回溯相容性

其他服務

此釋出版本不會新增 SQL Server Master Data Services 的功能。

取得協助

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 如果您這樣做,不但可以協助改進我們的文件,還能作為頁面的貢獻者獲得認可。

如需詳細資訊,請參閱 編輯 Microsoft Learn 文件