SQL Server 身份验证中链接服务器的连接问题
本文可帮助你解决一致的身份验证链接服务器连接问题。
现象
尝试从 SQL Server Management Studio (SSMS)连接到 Microsoft SQL Server 帐户时,会收到以下错误消息:
将请求发送到服务器时,出现 Msg 233 级别 20、状态 0、第 0 行 A 传输级别错误。 (提供程序:共享内存提供程序,错误:0 - 管道的另一端没有进程。
如果尝试使用使用 .NET 技术开发的应用程序进行连接,可能会收到以下错误消息:
链接服务器“SQLPROD02”的 OLE DB 访问接口“MSDASQL”报告了错误。 身份验证失败。
无法初始化链接服务器“SQLPROD02”的 OLE DB 访问接口“MSDASQL”的数据源对象。
也可能收到以下错误消息:
链接服务器“SQLPROD02”的 OLE DB 访问接口“MSDASQL”返回消息 [Microsoft][SQL Server Native Client 11.0][SQL Server]登录失败,用户'CONTOSO\SQLPROD01$'登录失败。
此消息指示以下条件:
- 将命名管道用于链接服务器连接。
- 你使用的是 SQL Server 登录帐户。
- 中间层 SQL Server 服务帐户或计算机帐户在后端服务器上没有 Windows 的登录权限。
原因
由于链接服务器帐户映射问题,可能会遇到这些错误消息。
解决方法
可以通过强制 TCP/IP 或授予适当的权限来更正此错误。
在“链接服务器安全”对话框中,选择 使用此安全上下文 成功登录 SQL Server。
注意
选择“ 未使用安全上下文 ”选项时,将看到以下错误消息:“用户 NT AUTHORITY\ANONYMOUS LOGON 登录失败”。
除了链接服务器安全对话框中的主要映射设置外,还可以修改该框上部的各个帐户映射。 这些设置将替代主映射设置。
注意
不支持在链接服务器中使用 SQL Server ODBC 驱动程序。 其他 ODBC 驱动程序可能主要支持供应商,并且只有来自Microsoft的支持有限。 有关详细信息,请参阅 SQL Server 链接服务器委派问题。