我有一些我想连接的 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;'
这是为什么呢?我知道证书已过期,但是
TrustServerCertificate=True
应该处理这个问题吗?或者在 Microsoft OLE DB Driver 19 for SQL Server 中需要以某种方式指定不同的?
Encrypt=true;
这里没有任何改变...
请指教 最好的问候
对于未来的搜索者 - 我知道有人昨天在这里发帖,但由于投票而被删除
这是微软客户端的错误 要解决这个问题,我们需要添加
User ID=anything'
最后喜欢
@provstr=N'Encrypt=yes;TrustServerCertificate=yes;User ID=myUser'
这解决了这个问题。
这对我有用。
第 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 登录密码