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 链接服务器委派问题

详细信息

SQL Server 中的一致身份验证问题