如何排查 SQL Server 8198 错误

文章翻译 文章翻译
文章编号: 834124 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文包含指导原则和方向,您可以用来解决 8198 错误。但是,此项目不包含内容可能会导致 8198 错误的完整的列表。 此外,某些问题可能是特定于您的环境。

第一次,本文讨论了可能出现了 8198 错误。接下来,本文提供了一些有关 xp_Logininfo 系统存储过程的信息。 然后,介绍了如何解决 8198 错误。



当可能出现 8198 错误

当您需要解决 Microsoft Windows NT 域用户帐户的凭据 SQL Server SQL Server 的一个实例执行的操作时,您可能会收到类似于下列之一的错误消息。

错误消息 1

服务器: 消息 8198,级别 16 状态 XX 过程 < 存储过程名称,> 行 < 行号 >
无法获得有关 Windows NT 组/用户 < Domain\Account 名称 > 的信息。



错误消息 2

ODBC 错误 8198 (42000) 无法获得有关 Windows NT 组/用户信息 < Domain\Account 名称 >。



第 3 条错误消息

该作业失败。无法确定如果所有者 (< Domain\Account 名称 >) 作业的 < 作业名称 > 有服务器的访问权限 (原因: 无法获得有关 Windows NT 组/用户信息 < Domain\Account 名称 >。[SQLSTATE 42000](Error 8198))。


若要解决 Windows NT 域用户帐户的凭据,SQL Server 使用 xp_logininfo 系统存储过程。下面是常见的方案,您可能会注意到 xp_logininfo 系统存储过程失败,并将导致 8198 错误的列表。
  • 当您使用一个 xp_sendmail 扩展存储的过程。
  • 当您设置了复制。
  • 当您运行 SQL Server 代理作业。



有关 Xp_logininfo 系统的信息存储过程

Xp_logininfo 是系统存储过程。xp_logininfo 系统存储过程不是一个 SQL Server 扩展 contrary to 其名称的存储的过程。xp_logininfo 系统存储过程调用以检索有关在 Windows 的信息的几个 Microsoft Windows API 调用域和 Windows 用户帐户。

基于 Windows API 调用时导致失败的 xp_logininfo 系统存储过程可能会返回与相关的 SQL Server 状态值 8198 错误。SQL Server 州值指示故障的性质。

SQL Server 可能运行 xp_logininfo 系统存储过程,以检索有关在 Windows 域和用户帐户,即使用户不会因此显式执行。 因此,如果您收到 8198 错误消息和错误消息提到 xp_logininfo 系统存储过程作为该过程,您必须使用 SQL 事件探查器跟踪并诊断确切的故障点。

每次 xp_logininfo 系统存储过程失败,8198 错误会引发与相关的 SQL Server 状态。 即使用户不能显式运行 xp_logininfo 系统存储过程,SQL Server 可能使用 xp_logininfo 系统存储过程需要时检索有关 Windows 域和用户帐户的信息。在下面的错误消息中 XX 值指示 SQL Server 状态在故障发生时的时间。

服务器: 消息 8198,级别 16 状态 XX 过程 < 存储过程名称,> 行 < 行号 >
无法获得有关 Windows NT 组/用户信息 < Domain\Account 名称 >。


下表列出了一些常见 SQL Server 状态值,它 8198 错误发生时您可能发现错误消息中。

收起该表格展开该表格
SQL Server 状态可能的原因
21为运行 Microsoft Windows NT 操作系统的计算机上未运行 xp_logininfo 扩展存储的过程。
缺少分隔 Windows 域的名称和帐户名,在 Windows 帐户名中的反斜杠 (\) 字符。
22SQL Server 查询以检索有关 Windows 帐户名的信息的 Windows 操作系统时,将出现错误。
24SQL Server 引擎查询以检索有关 Windows 帐户名的信息的 Windows 操作系统时, 访问被拒绝。
25SQL Server 引擎查询以检索有关 Windows 帐户名的信息的 Windows 操作系统时,将出现错误。
26出现错误的 SQL Server 引擎查询以检索有关本地的 Windows 组的信息的 Windows 操作系统时 Windows 用户是其成员的位置。(Windows 用户安全上下文帐户引用)。
27出现错误的 SQL Server 引擎查询以检索有关本地的 Windows 组的信息的 Windows 操作系统时 Windows 用户是其成员的位置。(Windows 用户安全上下文帐户引用)。


故障排除 8198 错误消息

因为 xp_logininfo 系统存储过程可能会由 SQL Server 解决 Windows NT 域用户帐户的凭据,Microsoft 建议使用 SQL 事件探查器跟踪错误消息的实际原因。

下面是一些可能导致 8198 错误的问题列表。
  • 网络问题。
  • Windows 的本地组或 Windows 全局组的名称中的一个问题。
  • 与 EVERYONE 组冲突。
  • 一个 xp_sendmail 扩展存储的过程失败。
  • SQL Server 代理作业失败。
  • 复制配置失败。
有关每个问题的详细信息如下。它还提供了一个建议的解决方案,以便每个问题。

网络问题

如果 SQL Server 登录帐户位于不同的 Windows 域,不用于运行存储的过程的 Windows 帐户,您可能会收到 8198 错误。要解决此问题,请确保满足以下条件为真:
  • 两个 Windows 之间没有信任关系的域。
  • 这两个 Windows 域启用所需建立信任关系的 TCP/IP 端口。

    注意如果不启用 Windows 域上相关的端口,了两个域之间存在信任关系时,甚至可能还会收到 8198 错误。
有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
179442 如何配置防火墙的域和信任关系
若要验证是否前面提到的这些条件为真,测试是否可以分配给另一个域的用户域中的计算机上的文件夹权限。如果您不能分配的权限,该问题可能与相关的网络。

注意如果您使用 Windows 资源管理器将该文件夹的权限分配给另一个域上的用户,请确保您显式地从域的列表选择另一个域的名称。



Windows 的本地组或 Windows 全局组的名称中的一个问题

如果 Windows 的本地组或 Windows 全局组已与下列任何一个相同的名称,请使用 Windows 的本地组或 Windows 全局组的 Windows 用户运行该存储的过程时,您可能会收到 8198 错误:
  • Windows 域名称。
  • 计算机的名称。
  • 具有与域的信任的关系的另一个 Windows 域。

要变通解决此问题,请执行下列任务之一。
  • 更改 Windows 的本地组名或 Windows 全局组名称。
  • 从 Windows 的本地组或 Windows 域与具有相同名称的 Windows 全局组中删除该用户。
有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
233161错误: Xp_logininfo 返回错误 8198


如果有 Windows 的本地组或创建具有相同的名称作为保留组 EVERYONE 的用户的 Windows 全局组,您可能会收到 8198 错误。名称冲突可能会导致失败的 Windows 帐户的身份验证。

保留的组 EVERYONE 未出现在 域用户管理器 中或在 $ 计算机管理 Windows 管理工具中的组列表中。但是,如果您手动创建本地组或域全局组,并且您命名它的每个人都 EVERYONE 组将在 域用户管理器 中的组的列表中。

若要解决此问题,删除手动创建 EVERYONE 组。


一个 xp_sendmail 扩展存储的过程失败

xp_sendmail 扩展存储的过程可能会失败并返回 8198 错误如果客户端计算机,该客户端计算机正在运行 xp_sendmail 扩展存储的过程不相同 SQL Server 计算机的域中,这两个域没有信任关系。

要解决此问题,请执行下列任务之一。
  • 在客户端的 Windows 域中创建具有相同的用户名和 SQL Server 启动帐户的密码相同的域用户。
  • 将 SQL Server 启动帐户添加到 windows 2000 以前版本兼容访问组 SQL Server 客户端的 Windows 域中。

    有关如何使用 windows 2000 以前版本的兼容访问组的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    303973如何: 将用户添加到 Pre-Windows 2000 兼容访问组

SQL Server 代理作业失败

如果 SQL Server 代理作业拥有由 Microsoft Windows NT 身份验证的用户无法正常工作,您可能会收到 8198 错误。Microsoft Windows 2000 的操作系统计算机上运行 SQL Server 和计算机的域没有 Pre-Windows 2000 兼容访问组 时,可能会出现此问题。

有关此问题的其他信息和建议解决此问题,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
241643返回从 Windows NT 已验证用户所拥有的作业的 PRB: 8198 错误消息


复制配置失败

当配置 SQL Server 实例上的复制时,可能无法启动复制代理程序。 您可能会收到 8198 错误。
如果未启动复制代理程序,检查为复制代理程序作业创建 SQL Server 代理作业的历史记录。您可能能够找到 8198 在作业历史记录中记录的错误。

下面的列表描述了两个可能的原因以解决此问题。
  • SQL Server 服务使用在 Windows 域上没有足够管理凭据的帐户。在这种情况下由使用 SQL Server 服务的安全上下文运行 xp_logininfo 系统存储过程。 因为该帐户没有足够的管理凭据,枚举域中用户的属性,xp_logininfo 系统存储过程失败,并且您收到 8198 错误。

    若要解决此问题,更改 Windows 域帐户 SQL Server 服务的启动帐户。
  • SQL Server 服务和 $ SQL Server 代理服务在发布服务器上和订阅服务器使用安全上下文的不同的 Windows 域。

    若要解决此问题,使用以下两种方法之一。
    • 使用相同的 Windows 域用户帐户运行 SQL Server 服务和 $ SQL Server 代理服务。
    • 在发布服务器上,并具有相同的用户名和密码的订阅服务器上创建一个 Windows 域用户帐户。

参考

有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
830596FIX: 您可以收到一条错误消息,xp_logininfo 扩展存储的过程运行时
241643返回从 Windows NT 已验证用户所拥有的作业的 PRB: 8198 错误消息
233161错误: Xp_logininfo 返回错误 8198


有关 xp_sendmail 扩展存储的过程的其他信息,请访问下面的 Microsoft 网站:

xp_sendmail


有关 xp_logininfo 系统存储过程的其他信息,请访问下面的 Microsoft 网站:

xp_logininfo


属性

文章编号: 834124 - 最后修改: 2008年3月13日 - 修订: 2.3
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
关键字:?
kbmt kbhowtomaster kbstoredproc kberrmsg kbsecurity kbsqlservmail kbuser kbtsql kbquery kblogin kbauthentication kbservice kbserver kbdatabase kbsysadmin kbinfo KB834124 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 834124
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com