当 SQL Server 服务帐户是域用户时,您会收到"警告 SuperSocket 信息"的警告信息

文章翻译 文章翻译
文章编号: 303411 - 查看本文应用于的产品
本文的发布号曾为 CHS303411
BUG #: 232774 (SHILOH_BUGS)
展开全部 | 关闭全部

症状

当 SQL Server 启动时运行的计算机上Microsoft SQL Server 2000年或 Microsoft SQL Server 2005年时,SQL Server 程序始终尝试注册虚拟服务器在 活动目录(AD) 中。在事件日志中可能会记录下面的事件:

SuperSocket 信息: (SpnRegister): 8344 SuperSocket 信息时出错: (SPNRegister): 错误 1355 SuperSocket 信息: SpnUnRegister(): 错误 8344。

注意错误 1355年相当于 ERROR_NO_SUCH_DOMAIN。错误 8344 等于没有足够的权限来执行注册操作。这显示为SPNRegister函数的警告和错误的SpnUnRegister函数。

此消息不是一条错误消息。此文本只是SQL Server 无法注册服务主体名称 (SPN) 的警告。这表明将使用的安全机制而不是 Microsoft Windows NT Challenge\Response (NTLM) 身份验证Kerberos 身份验证。

这些消息应只考虑问题如果您的 SQL Server 安装要求 Kerberos 身份验证,或者网络的安全设置阻止回退到 NTLM 协商。否则,可以安全地忽略这些消息。

原因

因为,通常会显示消息的 SQL Server 服务以域用户身份运行的帐户没有必需的权限注册 Spn。使用 Microsoft Windows 2000 Service Pack 3 (SP3),您可以启用在服务器群集上的 Kerberos 身份验证。有关说明如何执行此操作,请参阅下面 Microsoft 知识库中相应的文章:
319723 有关 SQL Server 2000 Kerberos 信息支持,包括在服务器群集上的 SQL Server 虚拟服务器

解决方案

您还可以编辑在 活动目录(AD) 目录服务来启用 servicePrincipalName 读取权限的帐户的访问控制设置权限和写入 servicePrincipalName 权限的 SQL 服务帐户。

警告如果使用活动目录服务接口 (ADSI) 编辑管理单元中,LDP 实用工具或任何其他 LDAP 版本 3 客户端,并且不正确地修改了 活动目录(AD) 对象的属性,您可能会导致严重的问题。这些问题可能要求您重新安装 Microsoft Windows 2000 Server、 Microsoft Windows Server 2003,Microsoft Exchange 2000 服务器,Microsoft Exchange Server 2003 中,或 Windows 和 Exchange。Microsoft 不能保证不正确地修改了 活动目录(AD) 对象属性所致的问题都能够解决。修改这些属性需要您自担风险。

替代方法

若要解决这些类型的消息,并使 SQL Server 服务可以为您的 SQL Server 实例动态地创建 Spn,请询问您的域管理员联系以添加适当的权限,SQL Server 启动帐户的用户权限。

若要启用 SQL Server 服务帐户,以在启动时正确建立 Spn,请按照下列步骤操作:
  1. 单击 开始请单击 运行键入 Adsiedit.msc然后单击 确定.
  2. 在中 ADSI 编辑 窗口中,展开 域 [域名称]展开 DC = RootDomainName展开 CN = 用户用鼠标右键单击 CN =帐户名然后单击 属性.

    备注
    • 域名称 表示域的名称。
    • RootDomainName 为根域的名称的占位符。
    • 帐户名 表示指定要启动 SQL Server 服务的帐户。
    • 如果您已指定要启动 SQL Server 服务,本地系统帐户名 表示您用来登录到 Microsoft Windows 帐户。
    • 如果您指定了域用户帐户的 SQL Server 服务, 帐户名 表示域用户帐户。
  3. 在中 CN =帐户名 属性 对话框中,单击 安全 选项卡。
  4. 在上 安全 选项卡上单击 高级.
  5. 在中 高级的安全设置 对话框中,确保在自我用户 权限项目.如果未列出SELF用户,请单击 添加然后添加用户。
  6. 在下 权限项目请单击 自我然后单击 编辑.
  7. 在中 权限项目 对话框中,单击 属性 选项卡。
  8. 在上 属性 选项卡上单击 只是这个对象 在中 应用到 列表中,并确保选择了下列权限下 权限:
    • 读取 servicePrincipalName
    • 编写 servicePrincipalName
  9. 单击 确定 三次,然后关闭 ADSI 编辑 窗口。
有关此过程的帮助,请与 活动目录(AD) 产品支持联系。如果您联系产品支持,请参阅这篇 Microsoft 知识库文章。

当您执行此替代方法时,您无需为新的安装或已修改的 TCP/IP 端口或域名称安装的 SPN 问题。

重要我们建议您不要不要授予 WriteServicePrincipalName 右到 SQL 服务帐户满足以下条件时:
  • 有多个域控制器。
  • SQL Server 被聚集索引。
在此方案中,可能由于在 活动目录(AD) 复制滞后时间删除 SQL Server 的 SPN。这可能会导致 SQL Server 实例的连接问题。

假定您有以下:
  • 名为 Sqlcluster,有两个节点的 SQL 虚拟实例: 节点 A 和节点 b。
  • 由域控制器的验证是节点 A 和节点 B 进行身份验证的域控制器 b。


下面可能会出现:
  1. Sqlcluster 实例节点 A 上的活动,并在启动过程中的在域控制器中的 SQL SPN 注册了...
  2. Sqlcluster 实例时,故障转移到节点 B 节点 A 通常是关机。
  3. Sqlcluster 实例取消其来自域控制器的 SPN 注册在关机过程中,节点 a。
  4. 从域控制器的移除该 SPN,但更改已不被复制到域控制器 b。
  5. 当启动在节点 B 上,尝试向 SQL SPN 注册域控制器 B.Sqlcluster 实例因为,SPN 仍然存在节点 B 没有注册 SPN。
  6. 经过一些时间后,域控制器的复制 活动目录(AD) 复制的一部分 (从第 3 步) 到域控制器 B 的 SPN 的删除操作。最终结果是没有有效的 SPN 存在域中该 SQL 实例,因此您看到的 Sqlcluster 实例的连接问题。

注意SQL Server 2012年中修复此问题。

状态

Microsoft 已经确认这是 SQL Server 2000年和 SQL Server 2005 中的一个问题。

参考

详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
235529在基于 Windows 2000 的服务器群集上的 Kerberos 支持
269229 如何手动重新创建群集服务帐户

属性

文章编号: 303411 - 最后修改: 2013年4月7日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
关键字:?
kbbug kbpending kbmt KB303411 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 303411
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