注册表设置

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

下载 OLE DB 驱动程序

每个 OLE DB Driver for SQL Server 主版本都使用自己的一组注册表设置。 以下是特定于版本的基本注册表项(后面称为 {base_registry_key}):

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI{major_version}.0
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSSQLServer\Client\SNI{major_version}.0

根据驱动程序的主版本,替换上述项中的 {major_version} 占位符,例如:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI19.0 是版本 19.x.x 的基本项。

加密和证书验证

强制协议加密

可以通过 {base_registry_key}\GeneralFlags\Flag1 注册表项的 Value 字段来控制加密。
有效值为 012(分别映射到 OptionalMandatoryStrict 连接属性/关键字值)。 OLE DB 驱动程序在注册表和连接属性/关键字设置之间选择最安全的选项。

信任服务器证书

可以通过 {base_registry_key}\GeneralFlags\Flag2 注册表项的 Value 字段来控制证书验证。
有效值为 0 or 1进行求值的基于 SQL 语言的筛选器表达式。 OLE DB 驱动程序在注册表和连接属性/关键字设置之间选择最安全的选项。 也就是说,只要至少有一个注册表/连接设置启用服务器证书验证,驱动程序就会验证服务器证书。

TCP Keep-Alive 和 Protocol Order 注册表属性

对于 MSOLEDBSQL 驱动程序版本 19.1 及更高版本,可以在以下注册表项中调整 Protocol Order、TCP Keep-Alive 和 Keep-Alive 间隔:

  • Protocol Order:{base_registry_key}\ProtocolOrder
  • TCP Keep-Alive:{base_registry_key}\tcp\Property2\Value
  • TCP Keep-Alive 间隔:{base_registry_key}\tcp\Property3\Value

Protocol Order 属性是用于表示受支持协议的以 null 结尾的字符串的有序序列。 Protocol Order 默认值为 sm tcp np

TCP Keep-Alive 参数(以毫秒计)控制 TCP 通过发送 KEEPALIVE 包尝试验证空闲连接是否仍保持原样的频率。 默认值为 30,000 毫秒。

Keep-Alive 间隔参数(以毫秒计)确定重新传输 KEEPALIVE 直到接收到响应的间隔。 默认值为 1000 毫秒。

另请参阅

加密和证书验证
MSOLEDBSQL 主版本差异