配置集成加速和卸载

适用范围:SQL Server 2022 (16.x)

本文演示如何使用适用于 SQL Server 的 Intel® QuickAssist Technology (QAT) 配置集成加速和卸载。 Intel® QAT 是一种集成的加速和卸载解决方案。 有关详细背景,请参阅集成加速和卸载

安装驱动程序

  1. 下载驱动程序。

    支持的最低 QATzip 加速器库版本为 1.8.0-0010,但应始终从供应商处安装最新版本。 驱动程序可在 Intel® Quick Assist Technology 登陆页获取。

  2. 按照供应商的说明在服务器上安装驱动程序。

  3. 安装驱动程序后重启服务器。

移除已安装的组件

如果已安装驱动程序,则以下文件可用:

  • QATzip 库在 C:\Windows\system32\
  • 与 QATzip 一同安装的 ISA-L 库在 C:\Program Files\Intel\ISAL\*

上述路径适用于“硬件”以及“仅软件”部署。

启用硬件卸载

安装驱动程序后,配置服务器实例。

  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 - 无、软件或硬件模式
    • mode_reason_desc - 模式的原因
    • accelerator_library_version - 用户模式加速器版本
    • accelerator_driver_version - 内核模式加速器版本

如果模式说明为软件或硬件,则启用加速器。 mode_reason_desc 说明结果为何为软件模式或硬件模式。

如果遇到其他结果,请参阅 sys.dm_server_accelerator_status (Transact-SQL) 进行故障排查。

禁用卸载和加速

以下示例禁用 Intel® QAT 加速器的硬件卸载和加速。

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

备份操作

SQL Server 2022 (16.x) 引入了 BACKUP (Transact-SQL) 备份压缩的 ALGORITHM 扩展名。

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。

备份命令 说明
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)

可以在软件模式下还原在硬件模式下执行的 QAT 备份,反之亦然。

备份历史记录

可以查看备份集 (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 智能存储库 (ISA-L)。 在硬件故障的情况下,这充当 QATzip 的软件回退机制,以及在硬件不可用时作为基于软件的选项。

注意

Intel® QAT 硬件设备的不可用不会阻止实例使用 QAT_DEFLATE 算法执行备份或还原操作。 如果物理设备不可用,软件算法将用作回退解决方案。

后续步骤