使用 Microsoft OLE DB Driver 19 for SQL Server 创建从 sqlserver 2019 到 2008r2 加密的链接服务器

问题描述 投票:0回答:2

我有一些我想连接的 sql server 2008 r2 它的强制加密设置为“否”,并且一些证书已过期

现在,从新的 sql server 2019 我想建立新的链接服务器连接

所以,我有

 EXEC master.dbo.sp_addlinkedserver @server = N'PB01_ENC2', @srvproduct=N'mssqlserver', @provider=N'MSOLEDBSQL19', @datasrc=N'PB01', @provstr=N'TrustServerCertificate=True;Encrypt=false;'

这添加了链接服务器,当我想要连接时,我得到了 enter image description here

这是为什么呢?我知道证书已过期,但是

TrustServerCertificate=True
应该处理这个问题吗?或者在 Microsoft OLE DB Driver 19 for SQL Server 中需要以某种方式指定不同的?

Encrypt=true;
这里没有任何改变...

请指教 最好的问候

sql-server oledb linked-server
2个回答
0
投票

对于未来的搜索者 - 我知道有人昨天在这里发帖,但由于投票而被删除

这是微软客户端的错误 要解决这个问题,我们需要添加

User ID=anything'

最后喜欢

@provstr=N'Encrypt=yes;TrustServerCertificate=yes;User ID=myUser'

这解决了这个问题。


0
投票

这对我有用。

第 1 步:使用 MSOLEDBSQL for @provider 添加链接服务器

执行master.dbo.sp_addlinkedserver
@server = N'MYLINKEDSERVER',
@srvproduct=N'mssqlserver',
@provider=N'MSOLEDBSQL', /* 用于 SQL Server 的 Microsoft OLE DB 驱动程序 */
@datasrc=N'测试服务器',
@provstr=N'加密=;TrustServerCertificate=;'

-- 使用“是”而不是“正确”

第 2 步:使用 SQL 身份验证配置登录映射

执行sp_addlinkedsrvlogin
@rmtsrvname = 'MYLINKEDSERVER', -- 上面创建的链接服务器名称
@useself = 'False', -- 使用False指定SQL验证
@locallogin = NULL, -- 使用NULL允许所有本地登录
@rmtuser = 'TESTREADONLYUSER', -- SQL Server 登录用户名
@rmtpassword = '秘密密码'; -- SQL Server 登录密码

© www.soinside.com 2019 - 2024. All rights reserved.