FIX: 您可能无法启动 SQL Server 代理,如果您配置 SQL Server 2005 故障转移群集使用 Kerberos 约束委派为域用户帐户

文章翻译 文章翻译
文章编号: 956378 - 查看本文应用于的产品
错误: # 50002978 (SQL 修补程序)
Microsoft 将 Microsoft SQL Server 2005 修补程序分发作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修补程序附带以前 SQL Server 2005 修补都程序版本。
展开全部 | 关闭全部

本文内容

症状

请考虑以下情形:
  • 配置要使用"kerberos 约束委派"为域用户帐户的 Microsoft SQL Server 2005 故障转移群集。

    注意使用"kerberos 约束委派"意味着,您的用户使用"信任此用户指定的服务的委派"选项。
  • 域用户帐户不具有域管理员权限。
  • SQL Server 服务和 SQL Server 代理服务在域用户帐户下运行。
  • 您应用 SQL Server 2005 Service Pack 2 (SP2) 累积更新 3 或更高版本的累积更新。
在这种情况下您可能无法启动 SQL Server 代理,您可能会收到以下错误消息之一:

错误消息 1
<日期时间 >-![298] SQLServer 错误: 22022,CryptUnprotectData() 返回错误-2146892987,无法完成请求的操作。 计算机必须被信任作为委派和当前用户帐户必须被配置为允许委派[SQLSTATE 42000]
<Date Time>- ! [442] ConnConnectAndSetCryptoForXpstar 失败 (0)。
<Date Time>- ? [098] SQLServerAgent 终止 (通常)

错误消息 2
<Date Time>- ! [298] SQLServer 错误: 22022,CryptUnprotectData() 返回错误-2146893813,在指定状态下使用的密钥无效。[SQLSTATE 42000]
<Date Time>- ! [442] ConnConnectAndSetCryptoForXpstar 失败 (0)。
<Date Time>- ? [098] SQLServerAgent 终止 (通常)

解决方案

累积更新信息

在累积更新 9 首先释放此问题的修复程序。有关如何获取 SQL Server 2005 Service Pack 2 的此累积更新包的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
953752对于 SQL Server 2005 Service Pack 2 的累积更新包 9
注意因为这些版本是累积性的因此每个新的修补程序版本包含的所有修补程序和所有安全修补程序附带以前 SQL Server 2005 修补都程序版本。Microsoft 建议您考虑应用最新的修补程序版本包含此修补程序。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
937137SQL Server 2005 生成发布 SQL Server 2005 Service Pack 2 之后发布的
为特定 SQL Server 服务包创建 Microsoft SQL Server 2005 修补程序。必须将 SQL Server 2005 Service Pack 2 修补程序应用到 SQL Server 2005 Service Pack 2 的安装。默认状态下,SQL Server service pack 中提供的任何修补程序包含在下一个 SQL Server 服务包中。

替代方法

在 Windows Server 2003 中, 具有累积更新 3 或更高版本的累积更新安装的累积更新 9 多达 SQL Server 2005 年,在群集的服务器环境中使用受限制的委派,请按照下列步骤操作:
  1. 请确保 Active Directory 域功能级别被设置为 Windows Server 2003。以验证此设置,打开 Active Directory 用户和计算机 Microsoft 管理控制台 (MMC),用鼠标右键单击域节点然后单击 属性

    注意如果 域功能级别 字段不会显示 Windows Server 2003,则不能使用受限制的委派。在这种情况下此方法不适用。委派 选项卡下面提及的不可用。
  2. 使用 SETSPN 实用程序创建服务主体名称 (spn) MSSQLSvc 服务根据步骤 3 的 SQL Server 丛书联机方式为:: 启用 Kerberos 身份验证上一 SQL Server 故障转移群集主题中说明。您必须执行此操作的所有四个 SPN 组合。这些组合如下所示:
    • MSSQLSvc/NETBIOSName
    • MSSQLSvc/fqdn
    • MSSQLSvc / NETBIOSName:Port
    • MSSQLSvc / FQDN:Port
    有关如何获取 SETSPN 实用程序的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    926027Windows Server 2003 支持工具来更新包含在 Windows Server 2003 Service Pack 2
  3. 设置为 SQL Server 2005 的服务帐户的委派。若要这样做,请按照下列步骤操作:
    1. 打开 Active Directory 用户和计算机 MMC。
    2. 找到 SQL Server 服务下运行的用户帐户对象,用鼠标右键单击用户帐户,然后单击 属性
    3. 单击 属性 对话框中的 委派 选项卡。
    4. 选择 此用户指定的服务的委派信任 单选按钮。
    5. 选择 仅使用 Kerberos 单选按钮或 使用任意的身份验证协议 单选按钮。
    6. 单击 添加
    7. 添加服务 对话框中单击 $ 用户或 $ 计算机
    8. 选择用户或计算机 对话框中键入 SQL Server 服务正在运行下,在 对象名称 框中的用户帐户,然后单击 确定

      注意这是您在步骤 2 中创建的帐户。
    9. 单击 全选,然后单击 添加服务 对话框中的 确定
    10. 属性 对话框中单击 确定
  4. 设置为 SQL Server 虚拟机计算机帐户的委派。该帐户是 SQL Server 群集资源组中的网络名称资源。若要这样做,请按照下列步骤操作:
    1. 打开 Active Directory 用户和计算机 MMC。
    2. 找到计算机帐户对象 SQL Server 虚拟机的、 用鼠标右键单击计算机帐户,然后单击 属性
    3. 单击 属性 对话框中的 委派 选项卡。
    4. 选择 此用户指定的服务的委派信任 单选按钮。
    5. 选择 仅使用 Kerberos 单选按钮或 使用任意的身份验证协议 单选按钮。
    6. 单击 添加
    7. 添加服务 对话框中单击 $ 用户或 $ 计算机
    8. 选择用户或计算机 对话框中键入 SQL Server 服务正在运行下,在 对象名称 框中的用户帐户,然后单击 确定

      注意这是您在步骤 2 中创建的帐户。
    9. 单击 全选,然后单击 添加服务 对话框中的 确定
    10. 属性 对话框中单击 确定
  5. 在 $ 群集中设置委派为每个群集节点计算机帐户。若要这样做,请按照下列步骤操作:
    1. 打开 Active Directory 用户和计算机 MMC。
    2. 找到计算机帐户对象的一个群集节点,用鼠标右键单击该的帐户,然后单击 属性
    3. 单击 属性 对话框中的 委派 选项卡。
    4. 选择 此用户指定的服务的委派信任 单选按钮。
    5. 选择 使用任意的身份验证协议 单选按钮。
    6. 单击 添加
    7. 添加服务 对话框中单击 $ 用户或 $ 计算机
    8. 选择用户或计算机 对话框中 对象名称 框中的分号分隔此域中键入该计算机帐户的所有域控制器,然后单击 确定
    9. 在的可用服务列表,选择 cifs 服务和 $ protectedstorage 服务的步骤 h 中提到,然后单击 确定添加服务 对话框中的所有域控制器。
    10. 属性 对话框中单击 确定
  6. 重新启动所有群集节点。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

更多信息

有关哪些文件发生更改的详细信息,并应用累积更新包包含此 Microsoft 知识库文章中描述的修补程序的任何系统必备项有关的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
953752对于 SQL Server 2005 Service Pack 2 的累积更新包 9


有关如何启用 SQL Server 故障转移群集上的 Kerberos 身份验证的详细信息请访问下面的 Microsoft 网站:
http://technet.microsoft.com/en-us/library/ms189585.aspx

参考

有关列表后 SQL Server Service Pack 2 的可用版本的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
937137SQL Server 2005 生成发布 SQL Server 2005 Service Pack 2 之后发布的
对于 SQL Server 增量的服务模型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897一个增量的服务模型是可从 SQL Server 团队提供报告的问题的修补程序
有关如何获取 SQL Server 2005 Service Pack 2 的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
913089如何获取最新的 service pack,SQL Server 2005 年
有关新功能和 SQL Server 2005 Service Pack 2 中的改进的详细信息请访问下面的 Microsoft 网站:
http://go.microsoft.com/fwlink/?LinkId=71711
有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499Microsoft SQL Server 软件更新程序包的新命名架构
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

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