設定整合式加速與卸載功能

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

此文章示範如何使用 Intel® QuickAssist Technology (QAT) for SQL Server 設定整合式加速與卸載功能。 Intel® QAT 是一種整合式加速與卸載解決方案。 如需更多背景資訊,請參閱整合式加速與卸載 (部分機器翻譯)。

安裝驅動程式

  1. 下載驅動程式。

    支援的最低 QATzip 加速器程式庫版本是 1.8.0-0010,但您應該一律安裝廠商提供的最新版本。 您可以在 Intel® Quick Assist Technology 登陸頁面找到驅動程式。

  2. 請依照廠商的指示,在您的伺服器上安裝驅動程式。

  3. 安裝驅動程式之後,重新啟動伺服器。

驗證已安裝的元件

如果已安裝驅動程式,可以使用下列檔案:

  • 您可以在 C:\Windows\system32\ 找到 QATzip 程式庫。
  • 您可以在 C:\Program Files\Intel\ISAL\* 找到隨 QATzip 一起安裝的 ISA-L 程式庫。

上述路徑適用於僅限硬體與軟體的部署。

啟用硬體卸載

安裝驅動程式之後,請設定伺服器執行個體。

  1. 將伺服器組態選項 hardware offload enabled 設定為 1,以啟用所有 SQL Server 加速器。 根據預設,此設定是 0。 此設定是進階組態選項。 若要設定此設定,請執行下列命令:

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE
    GO
    
    sp_configure 'hardware offload enabled', 1;
    GO
    RECONFIGURE
    GO
    
  2. 停止 SQL Server 服務並重新啟動。

    注意

    如果 hardware offload enabled 選項等於 0,則會停用所有卸載與加速功能,不過加速器專用的組態將會保存。

  3. 將伺服器設定為針對特定加速器使用硬體卸載。 執行 ALTER SERVER CONFIGURATION (部分機器翻譯) 以啟用硬體加速。 下列範例會針對 Intel® QAT 設定此組態。

    選擇下列其中一個範例:a. 使用軟體後援啟用硬體卸載,或 b. 軟體支援。

    a. 啟用加速器硬體卸載

    硬體壓縮設定可保護主機 CPU - Intel® QAT 硬體模式的設計目的是保護底層主機系統 CPU。 當底層系統處於較高的工作負載時,這個方法的效能最好。

    ALTER SERVER CONFIGURATION   
    SET HARDWARE_OFFLOAD = ON (ACCELERATOR = QAT);  
    

    提示

    如果硬體裝置因故失敗,加速器可以正常回復為軟體模式。

    b. 強制啟用加速器軟體模式

    ALTER SERVER CONFIGURATION
    SET HARDWARE_OFFLOAD = ON (ACCELERATOR = QAT, MODE = SOFTWARE)
    

    重要

    相較於 MS_XPRESS,QAT_DEFLATE 演算法在軟體與硬體模式方面的效能會因數個因素而有所不同。 主機系統在備份執行期間可能會受到工作負載壓力,而且 Intel® QuickAssist Technology (QAT) 硬體裝置的可用記憶體與處理能力都是可能會影響所利用壓縮演算法效能的因素。

  4. 重新啟動 SQL Server 執行個體。 在您對 SET HARDWARE_OFFLOAD = ... 執行命令之後,您必須重新啟動 SQL Server 執行個體。

  5. 若要驗證設定,請執行:

    SELECT * FROM sys.dm_server_accelerator_status;
    GO
    

    查詢結果會識別:

    • mode_desc - 無、SOFTWARE 或 HARDWARE 模式
    • mode_reason_desc - 模式的原因
    • accelerator_library_version - 使用者模式加速器版本
    • accelerator_driver_version - 核心模式加速器版本

如果模式描述為 SOFTWARE 或 HARDWARE,則會啟用加速器。 mode_reason_desc 說明結果為什麼是 SOFTWARE 或 HARDWARE 模式。

如果找到其他結果,請參閱 sys.dm_server_accelerator_status (Transact-SQL) (部分機器翻譯) 以進行疑難排解。

停用卸載與加速

下列範例會停用 Intel® QAT 加速器的硬體卸載與加速功能。

ALTER SERVER CONFIGURATION   
SET HARDWARE_OFFLOAD = OFF (ACCELERATOR = QAT);  

備份作業

SQL Server 2022 (16.x) 推出 ALGORITHM 延伸模組,以便為 BACKUP (Transact-SQL) (部分機器翻譯) 進行備份壓縮。

已擴充 T-SQL BACKUP 命令 WITH COMPRESSION,以允許指定的備份壓縮演算法。 針對備份壓縮加速,Intel® QAT 會使用稱為 QAT_DEFLATE 的演算法。 如果驅動程式可供使用且 SQL Server 設定已如先前記載的步驟成功完成,WITH COMPRESSION 會起始 Intel® QAT 壓縮備份。

注意

標準壓縮演算法是 MS_XPRESS,而且是預設的壓縮選項。

使用 ALGORITHM 命令來指定兩種演算法 (MS_XPRESSQAT_DEFLATE) 的其中一種進行備份壓縮。

下列範例使用 Intel® QAT 硬體加速執行備份壓縮。

BACKUP DATABASE <database> TO DISK = '<path>\<file>.bak'  
WITH COMPRESSION (ALGORITHM = QAT_DEFLATE); 

下列任一陳述式都使用預設的 MS_XPRESS 壓縮選項:

BACKUP DATABASE <database> TO DISK = '<path>\<file>.bak'  
WITH COMPRESSION (ALGORITHM = MS_XPRESS); 
BACKUP DATABASE <database> TO DISK = '<path>\<file>.bak'  
WITH COMPRESSION; 

下表摘要說明從 SQL Server 2022 (16.x) 開始,使用 COMPRESSION 選項的 BACKUP DATABASE。

備份命令 Description
BACKUP DATABASE <database_name> TO DISK 備份時是否壓縮取決於預設設定。
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION 使用 sp_configure 中的預設設定進行備份。
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = MS_XPRESS) 使用 MS_XPRESS 演算法進行壓縮備份。
BACKUP DATABASE <database_name> TO  DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE) 使用 QATzip 程式庫進行壓縮備份。

注意

上表中的範例會將 DISK 指定為目的地。 實際目的地可以是 DISK、TAPE 或 URL。

預設組態

您可以調整 SQL Server 備份壓縮預設行為。 您可以變更伺服器預設設定與其他選項。 您可以啟用或停用硬體加速、啟用備份壓縮作為預設值,您也可以使用 sp_configure 變更預設的壓縮演算法。

這些選項的狀態會反映在 sys.configurations (Transact-SQL) (部分機器翻譯) 中。 使用 sys.dm_server_accelerator_status (Transact-SQL) (部分機器翻譯) 動態管理檢視來檢視卸載與加速設定的設定。

backup compression algorithm 設定會變更備份壓縮的備份壓縮演算法預設值。 未在 BACKUP ... WITH COMPRESSION 命令上指定演算法時,變更此選項將會變更預設演算法。

您可以在 sys.configurations (Transact-SQL) (部分機器翻譯) 中檢視備份壓縮的目前預設設定,例如:

SELECT * FROM sys.configurations    
WHERE name = 'backup compression algorithm'; 
SELECT * FROM sys.configurations    
WHERE name = 'backup compression default'; 

若要變更這些組態設定,請使用 sp_configure (Transact-SQL) (部分機器翻譯) 系統預存程序。 例如:

EXEC sp_configure 'backup compression default', 1;   
RECONFIGURE; 

不需要重新啟動 SQL Server,此變更就會生效。

backup compression algorithm 設定會設定預設的壓縮演算法。 若要將 Intel® QAT 設定為 SQL Server 的預設壓縮演算法,請使用下列指令碼:

EXEC sp_configure 'backup compression algorithm', 2;   
RECONFIGURE; 

若要將預設壓縮演算法變更回預設值,請使用下列指令碼:

EXEC sp_configure 'backup compression algorithm', 1;   
RECONFIGURE; 

不需要重新啟動 SQL Server,此變更就會生效。

還原作業

備份檔案中繼資料會識別資料庫備份是否經過壓縮,以及壓縮備份所使用的演算法。

使用 RESTORE HEADERONLY 檢視壓縮演算法。 請參閱 RESTORE 陳述式 - HEADERONLY (Transact-SQL) (部分機器翻譯)。

注意

如果未啟用伺服器範圍設定 HARDWARE_OFFLOAD 選項和/或尚未安裝 Intel® QAT 驅動程式,SQL Server 會傳回錯誤 17441 (Msg 17441, Level 16, State 1, Line 175 This operation requires Intel(R) QuickAssist Technology (QAT) libraries to be loaded.)

若要還原 Intel® QAT 壓縮備份,必須在起始還原作業的 SQL Server 執行個體上載入正確的組件。 不需要有 QAT 硬體就能還原 QAT 壓縮備份。 不過,若要還原 QAT 備份,需要下列項目:

  • 必須在電腦上安裝 QAT 驅動程式
  • 必須啟用硬體卸載 (sp_configure 'hardware offload enabled', 1;)
  • SQL Server 執行個體組態必須設定 ALTER SERVER CONFIGURATION SET HARDWARE_OFFLOAD ON (ACCELERATOR = QAT),如先前所述。

在 HARDWARE 模式下執行的 QAT 備份可以在 SOFTWARE 模式下還原,反之亦然。

備份記錄

您可以在 backupset (Transact-SQL) (部分機器翻譯) 系統資料表執行個體中檢視所有 SQL Server 備份和還原作業的壓縮演算法與歷程記錄。 SQL Server 2022 (16.x) 的新資料行已新增至此系統資料表 compression_algorithm,例如,指出 MS_EXPRESSQAT_DEFLATE

服務啟動 - 設定之後

設定整合式加速與卸載功能之後,每次啟動 SQL Server 服務時,SQL Server 處理序都會尋找與硬體加速裝置驅動程式 API 介面連接所需的使用者空間軟體程式庫,並在可用時載入軟體組件。 針對 Intel® QAT 加速器,使用者空間程式庫是 QATzip。 此程式庫提供許多功能。 QATzip 軟體程式庫是一種使用者空間軟體 API,可與 QAT 核心驅動程式 API 介面連接。 其主要是由想要使用一或多個 Intel® QAT 裝置加速檔案壓縮及解壓縮的應用程式使用。

針對 Windows 作業系統,QATzip 有一個免費的軟體程式庫,即 Intel Intelligent Storage Library (ISA-L)。 當硬體失敗時,這可作為 QATzip 的軟體後援機制;在硬體無法使用時,則可作為以軟體為基礎的選項。

注意

無法使用 Intel® QAT 硬體裝置並不會防止執行個體使用 QAT_DEFLATE 演算法執行備份或還原作業。 如果實體裝置無法使用,則會利用軟體演算法作為後援解決方案。

下一步