KB2163980-修复:安装了 sql server 2008 R2 的累积更新程序包1之后,如果 SQL server 实例中存在 UCP,则无法启动 SQL Server 服务

症状

请考虑以下情况:

  • 你拥有一个托管用户控制点(UCP)的 Microsoft SQL Server 2008 R2 实例。

  • 在实例上安装 SQL Server 2008 R2 累积更新程序包1。

在此方案中,安装成功。 但是,SQL Server 服务无法启动。 此外,SQL Server 错误日志文件中会记录以下错误消息:

<日期> <时间> spid7s 执行 [sysutility_mdw]. sp_initialize_mdw_internal<日期><时间> Spid7s SQL Server 阻止了对组件 "Agent xp" 的过程 "xp_qv" 的访问,因为此组件已作为此服务器的安全配置的一部分关闭。 系统管理员可以通过使用 sp_configure 来启用 "代理 Xp" 的使用。 有关启用 "代理 Xp" 的详细信息,请参阅 SQL Server 联机丛书中的 "Surface Area Configuration"。<日期><时间> spid7s 错误:15281,严重性:16,状态:1。<日期><时间> spid7s SQL Server 阻止了对组件 "Agent xp" 的过程 "sys.xp_qv" 的访问权限,因为此组件已作为此服务器的安全配置的一部分关闭。 系统管理员可以通过使用 sp_configure 来启用 "代理 Xp" 的使用。 有关启用 "代理 Xp" 的详细信息,请参阅 SQL Server 联机丛书中的 "Surface Area Configuration"。<日期><时间> spid7s 错误:912,严重性:21,状态:2。数据库 "master" 的<日期><时间> spid7s 失败,因为升级步骤 "sqlagent100_msdb_upgrade" 遇到错误15281,状态1,严重级别为16。 这是一个很严重的错误情况,可能会干扰正常操作,数据库将脱机。 如果在升级 "master" 数据库期间发生错误,它将阻止整个 SQL Server 实例启动。 检查以前的错误日志条目以查找错误,采取相应的纠正措施并重新启动数据库,以便脚本升级步骤运行完成。<日期><时间> spid7s 错误:3417,严重性:21,状态:3。<日期><时间> spid7s 无法恢复 master 数据库。 SQL Server 无法运行。 从完整备份还原 master,修复它,或重建它。 有关如何重建 master 数据库的详细信息,请参阅 SQL Server 联机丛书。<日期><时间>由于服务器关闭,spid7s SQL 跟踪已停止。 跟踪 ID = "1"。 这只是一条信息性消息;无需用户操作。

当你将 SQL Server 2008 R2 候选发布(RC)的实例升级到 SQL Server 2008 R2 的发布版本时,也可能会发生此问题。

原因

出现此问题的原因是,当 SQL Server 2008 R2 运行 msdb 数据库的升级脚本时,代理 XPs 选项未启用。此脚本在 SQL Server 服务启动时运行。 该脚本会运行与 UCP 相关的存储过程。 此外,存储过程需要启用代理 XPs 选项。

解决方案

累积更新信息

此问题的修补程序首次在累积更新2中发布。有关如何为 SQL Server 2008 R2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2072493 SQL Server 2008 R2 的累积更新包2注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

981356 发布 SQL Server 2008 R2 后发布的 SQL Server 2008 R2 版本

解决方法

注意 如果尚未安装累积更新程序包1,则应遵循 "解决方案" 部分以安装累积更新程序包2。 此问题不存在于 SQL Server 2008 R2 的累积更新程序包2和更新版本中。如果您在安装累积更新程序包1后遇到此问题,请按照以下步骤解决此问题:

  1. 在 SQL Server 2008 R2 实例上启用跟踪标记902。 为此,请按照下列步骤操作:

    1. 打开 SQL Server 配置管理器。

    2. 在 SQL Server 配置管理器中,单击 " SQL Server 服务"。

    3. 双击 SQL Server 服务。

    4. 在 " SQL Server 属性 " 对话框中,单击 " 高级 " 选项卡。

    5. 在单击 " 高级 " 选项卡上,找到 " 启动参数 " 项目。

    6. Add ;-T902 到现有字符串值的末尾,然后单击 "确定"

  2. 右键单击 SQL Server 服务,然后单击 " 开始"。

  3. 如果 SQL Server 代理服务正在运行,请右键单击 SQL Server 代理服务,然后单击 " 停止"。

  4. 打开 SQL Server Management Studio,然后连接到 SQL Server 2008 R2 实例。

  5. 运行以下语句:

    EXEC sp_configure "显示高级版",1; 配置 EXEC sp_configure "允许更新",0; 配置 EXEC sp_configure "Agent Xp",1;配置转向

  6. 在 SQL Server 配置管理器中,右键单击 SQL Server 服务,然后单击 " 停止"。

  7. 在 SQL Server 2008 R2 实例上删除跟踪标记902。 若要执行此操作,请从在步骤1f 中更新的字符串值中删除 ;-T902 。

  8. 右键单击 SQL Server 服务,然后单击 " 开始"。

  9. 右键单击 SQL Server 代理服务,然后单击 " 开始"。

  10. 在 SQL Server Management Studio 中,重新连接到 SQL Server 2008 R2 实例。

  11. 在对象资源管理器中,展开 " 管理",右键单击 " 数据收集",然后单击 " 启用数据收集"。注意 如果已启用数据收集,则 "启用数据收集" 项目不可用。

注意 在 SQL Server Management Studio 中连接到 SQL Server 2008 R2 实例时,可能会收到以下错误消息:

错误:18401Login 失败,用户 "<登录名称>"。 原因:服务器处于脚本升级模式。 目前只有管理员可以连接。

此错误消息表示 SQL Server 2008 R2 正在完成累积更新程序包1的安装。 如果收到此错误消息,请等待几分钟,然后再次连接到 SQL Server 2008 R2 实例。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

有关 SQL Server 的增量服务模型的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

935897 从 SQL Server 团队提供的增量服务模型可提供报告问题的修补程序 有关 SQL Server 更新的命名架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

822499 Microsoft SQL Server 软件更新程序包的命名模式 有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

824684 有关用于描述 Microsoft 软件更新标准术语的说明

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×