gpt4 book ai didi

sql-server - sqloledb 是否真的在 Windows Server 2019 上使用 MSOLEDBSQL

转载 作者:行者123 更新时间:2023-12-04 07:30:48 28 4
gpt4 key购买 nike

通过 OleDbConnection Class (System.Data.OleDb.dll) 使用提供程序“sqloledb.1”的旧版软件仍在使用 TLS1.2 在 Windows Server 2019 上工作。而在带有 TSL1.2 的 Server 2016 或 2012 R2 上却不是?
Windows Server 2016 收到以下错误,这是预期的,因为它使用不支持 TLS1.2 的 sqloledb。这是众所周知的 here.

[DBNETLIB][ConnectionOpen (SECCreateCredentials()).]SSL Security error.
Windows Server 2019 有效,我不知道为什么。是否在努力寻找 sqloledb 并默认使用支持 TLS1.2 的新驱动程序 (MSOLEDBSQL)?
所有服务器都具有相同版本的 Microsoft OLE DB Driver for SQL Server安装,18.5。
尝试了不同版本的 SQL Server,2017 和 2019。
更新
显示版本信息的 sqloledb.dll 属性
服务器 2019
sqloledb Server 2019
服务器 2016
enter image description here

最佳答案

sqloledb是 Windows 的一部分,最近更新为支持 TLS 1.2。见 KB4580390 .
因此,从“Windows 10,版本 1809,Windows Server 版本 1809”开始,这应该可以工作。
在运行的 Windows 10 20H2 上进行本地测试

static void Main(string[] args)
{

using (var con = new OleDbConnection("Provider=sqloledb;data source=localhost;trusted_connection=yes;Network Library=DBMSSOCN"))
{
con.Open();
Console.WriteLine("Hello");
Console.ReadKey();
}
}
在服务器上强制协议(protocol)加密的地方:
enter image description here
并捕获此 XEvent:
CREATE EVENT SESSION [tls] ON SERVER 
ADD EVENT sqlsni.sni_trace(
WHERE ([sqlserver].[like_i_sql_unicode_string]([text],N'%Handshake%')))
捕获此调试消息:
text    SNISecurity Handshake Handshake succeeded. Protocol: TLS1.2 (1024), Cipher: AES 256 (26128), Cipher Strength: 256, Hash: SHA 384 (32781), Hash Strength: 0, PeerAddr: 127.0.0.1 

关于sql-server - sqloledb 是否真的在 Windows Server 2019 上使用 MSOLEDBSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67943468/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com