SQL Server 身份验证中链接服务器的连接问题

本文可帮助你解决一致的身份验证链接服务器连接问题。

症状

尝试从 SQL Server Management Studio (SSMS) 连接到 Microsoft SQL Server 帐户时,会收到以下错误消息:

将请求发送到服务器时,出现消息 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 中的一致身份验证问题