Microsoft OLE DB Provider for SQL Server是否支持TLS 1.2

Ami*_*ogi 11 sql-server oledb tls1.2

我们的客户最近从TLS 1.0升级到TLS 1.2,之后我们的软件无法与SQL服务器连接.它使用OLE DB提供程序连接到SQL Server.以下是从SQL服务器返回的错误 -

[DBNETLIB] [ConnectionOpen SECDoClientHandshake()] SSL安全错误SQL状态:08001 SQL错误号码:18

找不到与Microsoft OLE DB Provider for SQL Server是否支持TLS 1.2相关的任何有用信息.

我发现的其中一个链接似乎表明它不受支持. https://forums.iis.net/t/1233674.aspx?connecing+SQL+server+DB+issue+after+installingTLS1+2+in+SQL+srver+with+classic+asp+application+

因此,想要检查stackoverflow,以防任何人有任何关于此的信息.

Dan*_*man 20

Windows附带的SQLOLEDB提供程序和SQL Server ODBC驱动程序是仅为向后兼容性而提供的旧组件.自SQL 2005以来,这些已被弃用.

根据MSSQL Tiger Team的博客文章:

SQLOLEDB不会获得对TLS 1.2的支持.您需要将驱动程序切换到https://support.microsoft.com/en-us/kb/3135244中列出的受支持的驱动程序之一

您应该能够安装SQL Server Native Client 2012并使用该OLE DB提供程序只更改连接字符串(更改Provider=SQLOLEDBProvider=SQLNCLI11).当然,一旦应该测试,以避免意外.例如,我记得有人在使用服务器API游标时遇到与SQL Server Native Client提供程序和ADO classic的行为差异,尽管常用的firehose游标很好. 

编辑

新的OLE DB驱动程序MSOLEDBSQL已发布.此新驱动程序包括对最新TLS 1.2标准的支持,并向后兼容SQL Server Native Client 11(SQLNCLI11).请参阅Microsoft SQLNCLi团队博客公告.

  • 请记住将 Provider=SQLOLEDB 更改为 Provider=MSOLEDBSQL。这对我来说并不是很明显。我以为我只需要安装新的驱动程序就可以了。 (5认同)

小智 9

这对您来说可能不是一个解决方案,因为它是您的客户可能无法等待的未来修复,但显然Microsoft正在取消对OLEDB驱动程序的补充,在2018年第一季度支持TLS 1.2的新版本:https:// blogs. msdn.microsoft.com/sqlnativeclient/2017/10/06/announcing-the-new-release-of-ole-db-driver-for-sql-server/

用于SQL Server的新Microsoft OLE DB驱动程序或msoledbsql也将在即将发布的第一个版本中引入多子网故障转移功能,并与最新的TLS 1.2标准保持同步.

此外,第一个即将发布的版本将是一个与SQL Server生命周期带外的独立安装包.这也意味着驱动程序不会打包在SNAC库中,也不会与任何其他驱动程序结合使用.

  • 为了清楚起见,遗留的"Microsoft OLE DB Provider for SQL Server"(SQLOLEDB)仍然不推荐使用.undeprecation宣布将发布一个新的OLE DB提供程序.该名称将是"用于SQL Server的Microsoft OLE DB驱动程序"(MSOLEDBSQL). (2认同)