更新日期:2007 年 2 月 12 日

SQL Server 文档小组欢迎您提交文档反馈。我们会关注和调查所有文档问题,但此处不回答技术支持问题。若要就与文档不相关的技术问题获取帮助,请参阅获取 SQL Server 帮助

请尽可能用英文向我们提交反馈

目录

1.0 简介

本文档说明如何使用 Microsoft® SQL Server™ 2005 Service Pack 2 (SP2) 将 SQL Server 2005 的实例升级到 SQL Server 2005 SP2。可以使用该 Service Pack 有选择地升级由 SQL Server 2005 安装程序安装的一个或多个 SQL Server 2005 实例、SQL Server 2005 共享工具以及其他组件。SQL Server 2005 Service Pack 是依次递增的,此 Service Pack 可以将所有服务级别的 SQL Server 2005 升级到 SP2。

重要提示:
可以使用该 Service Pack 将所有版本的 SQL Server 2005 升级到 SP2(Express Edition 除外)。必须使用 Microsoft SQL Server 2005 Express Edition (SQL Server Express) SP2 才能将 SQL Server Express 的实例升级到 SP2。SQL Server Express SP2 可以从 MSDN 页 SQL Server 2005 Express Edition 获得。此 Service Pack 不适用于所有 SQL Server 2005 预发行版本。

[返回页首]

1.1 SQL Server 2005 SP2 安装概述

在安装过程中,SQL Server 2005 SP2 安装程序将列出所有已安装的 SQL Server 2005 组件,并允许从中选择要升级的组件,其中包括已升级到 SP2 的组件。有关详细信息,请参阅 SP2 安装文档

[返回页首]

1.2 安装要求

本节说明 SQL Server 2005 SP2 的其他要求。

SQL Server 2005 SP2 的磁盘空间要求

若要下载和安装 SQL Server 2005 SP2,计算机必须要有 1.9 GB 的可用磁盘空间。下表说明了安装程序组件所需的磁盘空间:

所需磁盘空间 (MB) 位置 类型

50

SQL Server 2005 安装目录

永久

1000

系统驱动器

永久

600

temp 目录

临时

250

下载位置

临时

安装完成后,可以从计算机上删除 250MB 的下载包。安装完成后,SQL Server 2005 SP2 永久使用的磁盘空间大约为 1 GB。

[返回页首]

1.3 卸载 SQL Server 2005 SP2

一旦应用了 SQL Server 2005 SP2,便无法将其删除,除非卸载整个产品。

删除 SP2 并恢复为先前的 SQL Server 2005 版本
  1. 使用“添加或删除程序”,卸载 SQL Server 2005 实例。

  2. 重新安装 SQL Server 2005。

  3. 应用以前安装过的所有修补程序。

    注意:
    为了恢复为先前的 SQL Server 2005 版本,还需要执行其他步骤。有关详细信息,请参阅 SP2 安装文档

[返回页首]

1.4 有关 SQL Server 2005 SP2 的其他信息

有关 SQL Server 2005 SP2 中的新增功能或改进功能的详细信息,请参阅 SQL Server 2005 联机丛书 2006 年 2 月的更新版本中的“SQL Server 2005 SP2 的新增功能”。此信息也可通过 SQL Server 2005 SP2 的新增功能网页在线获得。

有关在 Windows Vista™ 上运行 SQL Server 2005 SP2 的其他信息,请参阅 Windows Vista 注意事项

Microsoft 知识库文章 921896 中提供了此 Service Pack 中包含的修复程序列表。921896 中列出的每个修复程序都包含一个链接,指向有关该修复程序解决的问题的知识库文章。通过指向单个知识库文章的链接,可以查看有关每个修复程序的信息。

修补程序

在 2007 年 1 月 15 日之前公开发布的所有 SQL Server 2005 安全公告都已在 SP2 中得到解决。如果在 2007 年 1 月 15 日之后收到了 SQL Server 2005 修补程序,则该修补程序可能未包含在此版本的 SP2 中。请与您的主要支持提供商联系,以获得用于 SQL Server 2005 SP2 的该修补程序。

SQL Server 2005 SP2 包含对 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 的支持,该版本以前称作 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile)。有关 SQL Server Compact Edition 的详细信息,请参阅 SQL Server

如何确定 SQL Server 的版本号

每个 SQL Server 产品(包括 Service Pack)都有自己的版本号。可通过两种方式查看 SQL Server 2005 实例的版本号:

  • 连接到该实例时在 SQL Server Management Studio 的对象资源管理器中查看。

  • 通过对数据库引擎实例执行查询 SELECT SERVERPROPERTY('ProductVersion') 来查看。

下表显示了与 SQL Server 2005 的版本对应的版本号:

版本号 SQL Server 2005 版本

9.00.1399

SQL Server 2005(初始版本)

9.00.2047

SQL Server 2005 SP1

9.00.3042

SQL Server 2005 SP2

注意:
如果您应用了修补程序,则产品版本可能与这些值不同。

[返回页首]

1.5 SQL Server 2005 联机丛书的更新

2007 年 2 月更新的 SQL Server 2005 联机丛书是 SQL Server 2005 SP2 的主要文档。2007 年 2 月更新的联机丛书反映了此 Service Pack 中包含的所有产品升级,同时还包括了对文档的一些其他改进。极力建议安装此更新,使文档本地副本中的信息与 SP2 保持同步。2007 年 1 月的更新可从 SQL Server 联机丛书下载页上获得。有关详细信息,请参阅 SQL Server 联机丛书中的“下载和更新联机丛书”。

[返回页首]

2.0 获得 SQL Server 2005 SP2

可从 SQL Server 2005 SP2 下载页下载 SQL Server 2005 SP2。SQL Server 2005 支持的每个平台都有一个独立的可下载安装包。

注意:
对于以 Windows-on-Windows 64 (WOW64) x86 模拟模式在 64 位系统上运行的 32 位实例,可以使用 32 位版本的 SP2 进行更新。32 位版本不会升级 SQL Server 2005 的 64 位实例的任何组件。若要升级 SQL Server 2005 的 64 位实例的所有组件,请使用 64 位版本的 SP2。

SP2 包名称 操作系统1

SQLServer2005SP2-KB921896-x86-LLL.exe

所有支持的 32 位 Windows 操作系统(包括 64 位操作系统上的 32 位实例)。

SQLServer2005SP2-KB921896-x64-LLL.exe

支持的 Windows 2003 64 位 X64 版本。

SQLServer2005SP2-KB921896-IA64-LLL.exe

支持的 Windows 2003 64 位 Itanium 版本。

1有关支持 SQL Server 2005 的操作系统的信息,请参阅 SQL Server 2005 联机丛书中的“安装 SQL Server 2005 的硬件和软件要求”。

注意:
LLL 代表各语言特定的指示符。

按下载站点提供的说明下载 SQL Server 2005 SP2。

[返回页首]

3.0 安装 SQL Server 2005 SP2

本节详细说明了如何查看 SP2 的安装文档,并详细说明了可能对成功安装产生影响的最新信息或安装问题。安装 SQL Server 2005 SP2 的一般步骤如下:

  1. 准备 SQL Server 2005 SP2 安装。

  2. 安装 SQL Server 2005 SP2。

  3. 重新启动服务和应用程序。

有关详细信息,请参阅访问 SP2 安装文档

[返回页首]

3.1 访问 SP2 安装文档

可以通过以下方式之一来访问 SQL Server 2005 SP2 的安装文档:

  • 通过在安装向导中启用帮助的屏幕中单击“帮助”或按 F1。

  • 通过从 SQL Server 2005 SP2 自述文件下载页下载并运行 sqlhotfix_setuphelp.exe 文件。

  • 通过从 SP2 下载包中手动解压缩并运行帮助文件。

从 SP2 下载包访问 SQL Server 2005 SP2 安装文档
  1. 下载 SQL Server 2005 SP2。有关详细信息,请参阅获得 SQL Server 2005 SP2

  2. 使用 Winzip 或其他第三方解压缩实用工具打开 SP2 下载包。

  3. 解压缩 sqlhotfix.chm 文件并将其保存在本地计算机上。

[返回页首]

3.2 安装问题

本节详细介绍 SP2 的安装问题。

[返回页首]

3.2.1 在复制拓扑中升级服务器的注意事项

如果是使用升级订阅服务器在合并复制拓扑或事务复制拓扑中升级 SQL Server 2005 实例,则必须按以下顺序升级实例:

  1. 分发服务器

  2. 发布服务器

  3. 订阅服务器

[返回页首]

3.2.2 升级远程报表服务器数据库

如果要升级的 Reporting Services 安装包含远程报表服务器数据库,则可能会在升级数据库架构时遇到一些问题。默认情况下,安装程序会使用运行安装程序的用户的安全令牌连接到远程 SQL Server 实例,然后更新架构。如果您对本地和远程计算机上都有管理员权限,则将成功升级数据库。如果从命令提示符处运行安装程序,并为有权修改远程计算机上的架构的帐户指定 /rsupgradedatabaseaccount/rsupgradepassword,也将成功升级数据库。

如果您无权更新远程计算机上的架构,则系统将拒绝连接,并出现以下错误:

“安装程序无法升级报表服务器数据库架构。必须运行 Reporting Services 配置工具,在“数据库安装”选项卡上将报表服务器数据库升级到当前数据库架构版本。”

报表服务器程序文件将被升级到 SP2,但报表服务器数据库将使用先前版本的格式。如果报表服务器数据库使用了较旧的格式,则报表服务器将不可用。

若要手动升级数据库,请在升级完成后运行 Reporting Services 配置工具。连接到升级后的报表服务器,然后使用“数据库安装”页中的“升级”选项来升级数据库架构。完成上述步骤后,就可使用报表服务器了。

[返回页首]

3.2.3 安装 Service Pack 后可能无法修复或修改 SQL Server 组件

如果在安装 SP2 后使用“添加或删除程序”修复或修改 SQL Server 组件,则可能会看到以下错误消息:

“您正尝试使用的功能所在的网络资源不可用。”

以下 SQL Server 组件受到影响:

  • MSXML (msxml6.msi)

  • SQLXML (sqlxml4.msi)

  • SQL Server Native Client (sqlncli.msi)

  • 向后兼容 (SqlServer2005_BC.msi)

  • SQL Server VSS 编写器 (SqlWriter.msi)

在安装 SP2 后修复或修改 SQL Server 组件
  1. 使用“添加或删除程序”从计算机中删除组件。

  2. 通过 SQL Server 2005 安装介质安装组件。在 SQL Server 2005 CD 上,文件位于第二个 SQL Server 2005 安装盘的 \Setup 目录下。在 SQL Server 2005 DVD 和网络安装位置上,文件位于 Tools\Setup 目录下。若要安装组件,请双击 .msi 文件名。

  3. 重新安装 SQL Server 2005 SP2。

[返回页首]

3.2.4 对 ALTER DATABASE 的限制可能导致升级失败

应用 SP2 时,安装程序将升级系统数据库。如果已对 ALTER DATABASE 语法实施了限制,则此升级可能失败。对 ALTER DATABASE 的限制可能包括以下内容:

  • 显式拒绝 ALTER DATABASE 语句。

  • 针对 ALTER DATABASE 的数据定义语言 (DDL) 触发器回滚包含 ALTER DATABASE 语句的事务。

如果存在 ALTER DATABASE 限制,则安装程序无法将系统数据库升级到 SP2。您必须禁用这些限制,然后重新运行安装程序。

[返回页首]

3.2.5 将 SQL Server 2005 SP2 安装到故障转移群集实例上

将 SP2 安装到故障转移群集实例上之前,请注意以下信息:

  • 在运行 SP2 安装程序之前以及在运行此安装程序的过程中,请勿停止群集服务。

  • 在运行 SP2 安装程序之前,请勿终止任何正在运行的进程。

  • 在运行 SP2 安装程序之前,请勿使 SQL Server 服务脱机。SP2 安装程序将先停止 SQL Server 服务,然后再启动它。

  • 在故障转移群集实例的主节点上运行 SP2 安装程序。

  • 完成 SP2 的安装后,您必须重新启动所有故障转移群集节点。

  • SP2 不支持滚动升级。

[返回页首]

3.2.6 SQL Server 2005 SP2 会更改 SQL 编写器服务的默认启动类型和默认状态

请注意对 SQL 编写器服务的默认启动类型和默认状态的以下更改:

  • SQL 编写器服务的启动类型从“手动”更改为“自动”

  • SQL 编写器服务的默认状态从“已停止”更改为“已启动”

[返回页首]

4.0 其他信息

本节说明有关使用 SP2 的其他注意事项。

[返回页首]

4.1 获取 SQL Server 2005 SP2 帮助

有关 SQL Server 2005 SP2 的信息来源主要有以下三个:

有关详细信息,请参阅 SQL Server 联机丛书中的“获取 SQL Server 2005 帮助”。

[返回页首]

4.2 提供有关 SQL Server 2005 SP2 的反馈

您可以通过三种方式提供有关 SP2 的建议和错误报告:

  • 您可以在连接:SQL Server 2005 上针对 SP2 的功能和用户界面提出建议和提交错误报告。

  • 您可以选择自动将错误报告和功能使用情况数据发送给 Microsoft 进行分析。有关详细信息,请参阅 SQL Server 2005 联机丛书中的“错误和使用情况报告设置”。

  • 您可以使用 SQL Server 2005 联机丛书中的反馈功能发送有关文档的建议以及更正内容。有关详细信息,请参阅 SQL Server 2005 联机丛书中的“提供有关 SQL Server 2005 的反馈”。

[返回页首]

4.3 无人参与安装

SQL Server 2005 SP2 安装程序支持从命令提示符处进行无人参与安装,方法是使用 /quiet 开关取消安装程序对话框,以及使用其他开关指定安装选项。有关详细信息,请参阅 SP2 安装文档中的“从命令提示符处进行安装”。

注意:
如果使用 /quiet 开关,则表示您同意已阅读 SQL Server 2005 SP2 软件许可条款,并接受这些条款。若要阅读许可条款,请运行 SQL Server 2005 SP2 有人参与安装,并转至安装向导的“最终用户许可协议”页

[返回页首]

5.0 文档说明

本节介绍了在应用 SQL Server 2005 SP2 之后可能出现的重要问题,以及已更新的 SQL Server 2005 联机丛书文档中未涉及的最新项。有关详细信息,请参阅 SQL Server 2005 联机丛书的更新。本节不对 SP2 中提供的所有修复程序进行说明。有关这些修复程序的完整列表,请参阅 Microsoft 知识库文章 921896

[返回页首]

5.1 数据库引擎

以下注意事项适用于安装了 SQL Server SP2 的数据库引擎实例。

[返回页首]

5.1.1 可以联机创建唯一非聚集索引

在 SQL Server 2005 Service Pack 1 (SP1) 中引入。

现在,可以联机创建唯一非聚集索引了。下列语句将受到影响:

  • CREATE UNIQUE NONCLUSTERED INDEX

  • CREATE UNIQUE NONCLUSTERED INDEX WITH DROP_EXISTING

  • ALTER TABLE ADD CONSTRAINT PRIMARY KEY NONCLUSTERED

  • ALTER TABLE ADD CONSTRAINT UNIQUE NONCLUSTERED

有关详细信息,请参阅 SQL Server 2005 联机丛书的更新

[返回页首]

5.1.2 DBCC 错误报告

在 SQL Server 2005 SP1 中引入。

一旦 DBCC CHECKDB、DBCC CHECKALLOC、DBCC CHECKFILEGROUP 或 DBCC CHECKTABLE 命令检测到损坏错误,就会在“SQL Server LOG”目录中创建一个小型转储文件 (SQLDUMPnnnn.txt)。如果为 SQL Server 实例启用了“功能使用情况数据收集”和“错误报告”功能,该文件将被自动转发给 Microsoft。收集的数据将用于改进 SQL Server 功能。有关详细信息,请参阅 SQL Server 2005 联机丛书中的“错误和使用情况报告设置”。

转储文件包含 DBCC 命令的结果以及其他诊断输出数据。该文件拥有任意访问控制列表 (DACL)。只有 SQL Server 服务帐户和 sysadmin 角色的成员有权访问该转储文件。默认情况下,sysadmin 角色包含 Windows BUILTIN\Administrators 组和本地管理员组的所有成员。如果数据收集进程失败,DBCC 命令不会失败。

[返回页首]

5.1.3 不可提交的批处理事务自动回滚

在 SQL Server 2005 SP1 中引入。

批处理完成后,数据库引擎会自动回滚所有活动的不可提交事务。在 SP2 之前,必须手动回滚不可提交事务。

[返回页首]

5.1.4 使用标记的 SQL Server 代理作业步骤失败

在 SQL Server 2005 SP1 中引入。

SQL Server 2005 代理作业步骤的标记语法已发生更改。因此,必须插入包含作业步骤中使用的所有标记的转义宏,否则,这些步骤将会失败,并显示下列错误消息:

“该作业步骤包含一个或多个标记。对于 SQL Server 2005 SP1 或更高版本,在运行作业前,必须使用宏更新所有使用标记的作业步骤。”

这是对早期版本的 SQL Server 2005 行为的更改,此更改不需要包含标记的转义宏。有关更新作业以使用新语法和有关使用转义宏的详细信息,请参阅 SQL Server 2005 联机丛书(2006 年 4 月)或更高版本的丛书中的“在作业步骤中使用标记”。有关联机丛书更新的详细信息,请参阅 SQL Server 2005 联机丛书的更新

[返回页首]

5.1.5 SQL Server 2005 工具的先前版本无法读取 SP2 维护计划

在 SQL Server 2005 SP2 中引入。

如果使用先前版本中的工具打开通过维护计划设计器创建的 SP2 维护计划,则会返回以下错误消息:

“使用维护计划设计器以外的工具修改了此维护计划。今后您必须使用 SQL Server Integration Services 修改此维护计划。”

若要解决此问题,建议将工具升级到 SQL Server 2005 SP2。我们还建议使用维护计划设计器修改计划,而不是使用此错误消息中提到的 Integration Services。

[返回页首]

5.2 Integration Services

安装了 SP2 后,以下注意事项对 Integration Services 适用。

[返回页首]

5.2.1 重置 DCOM 权限

在 SQL Server 2005 SP1 中引入。

安装此 Service Pack 将重置用于启动和访问 Integration Services 服务的 DCOM 权限。该权限将被重置为默认权限。如果已自定义 DCOM 权限,则必须重新应用自定义内容。

检查启动和访问权限
  1. 在“控制面板”中,打开“管理工具”,再双击“组件服务”

  2. 在“组件服务”管理单元中,依次展开“组件服务”、“计算机”、“我的计算机”和“DCOM 配置”

  3. 右键单击“MsDtsServer”,然后单击“属性”

  4. 单击“安全”选项卡并检查权限。若要自定义权限,请单击“编辑”

  5. 单击“确定”

[返回页首]

5.2.2 Integration Services 配置文件的位置可能发生更改

在 SQL Server 2005 SP1 中引入。

SQL Server SP2 会将注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS\ServiceConfigFile 的值重置为其默认值。此注册表项指定 Integration Services 服务 (MsDtsSrvr.ini.xml) 的配置文件的位置。如果您已更改此注册表项的默认位置值,则必须在应用 Service Pack 后再次更新它。

注意:
如果注册表编辑不当,可能会导致严重问题并需要重新安装操作系统。因注册表编辑不当而导致的问题可能无法得到解决。在编辑注册表之前,请备份所有重要数据。有关如何备份、恢复和编辑注册表的信息,请参阅知识库文章 256986:Microsoft Windows 注册表说明

[返回页首]

5.2.3 以前可以成功实现的列转换可能无法实现

在 SQL Server 2005 SP1 中引入。

应用 SQL Server SP2 之后,列转换有可能在以下情况下无法实现:

从字符串转换为无符号整数

在早期版本中,转换为无符号整数数据类型(DT_UI1、DT_UI2、DT_UI4 或 DT_UI8)的字符串列(DT_STR 或 DT_WSTR)将所有负值均转换为 0,并且该包成功运行。在 SP2 中,该包不再将负值转换为 0,而是返回错误且可能失败。这种行为变动将会对查找转换、模糊查找转换、模糊分组转换和平面文件源产生影响。

由字符串转换为二进制

在早期版本中,如果字符串列(DT_STR 或 DT_WSTR)中存在无法转换为字节数组的字符,并且您已将该列的数据类型转换为 DT_BYTES 数据类型,则该列的值可以转换为由零组成的数组。SQL Server SP2 将 UseBinaryFormat 属性添加到平面文件源中,以帮助解释二进制数据。在 SP2 中,如果列包含无法转换的字符,并且 UseBinaryFormat 设置为 False(默认值),则转换过程会产生错误,并且先前可以成功运行的包现在将无法运行。此行为更改会影响平面文件源。

[返回页首]

5.2.4 包含复杂数据流的包中的连接可能超时

在 SQL Server 2005 SP1 中引入。

现在,Integration Services 中的数据流组件的初始化方式有所不同。在早期版本中,数据流组件通过对每个关联连接先调用 AcquireConnections 方法,然后调用 PreExecute 方法进行初始化。在此版本中,则在调用 PreExecute 之前,将对所有关联连接调用 AcquireConnections。此新初始化过程使事务登记更加稳定,因此数据集成具有更好的弹性。

在某些情况下,新的初始化过程可能会出现超时错误。例如,复杂数据流任务可以包含使用连接的许多组件(例如多个源、目标和查询)。在前面所有组件的 PreExecute 调用完成之前,列表末尾的组件无法使用其关联连接。因此,在某些包设计中,包从获取连接到首次使用连接之间可能会出现较长的延迟。这种延迟时间的增加可能导致某些连接超时,从而导致包操作失败。

若要更正此问题,只需增大失败连接的 Timeout 属性值。初始化后,包的性能不会受影响。

[返回页首]

5.2.5 .NET Framework 的安全修复程序使包中的脚本失效

在 SQL Server 2005 SP2 中引入。

Integration Services 包使用 Microsoft Visual Studio for Applications (VSA) 功能来运行脚本组件和脚本任务包含的自定义代码。针对 .NET Framework 2.0 发布的一些重要安全更新引发重大更改,导致包含脚本的包与 VSA 执行环境之间发生二进制不兼容。有关详细信息,请参阅 Microsoft 知识库文章 928365

如果在运行时发生这种不兼容,Integration Services 会尝试识别并处理出现此问题的所有情况,以使脚本可正常运行。但在极少数情况下,这些脚本可能无法运行,因此您可能需要手动重新编译这些脚本。有关详细信息,请参阅 Microsoft 知识库文章 931846。如果计算机运行的是 Windows Vista,您还需要按照 Microsoft 知识库文章 928208 中的说明安装修补程序。

[返回页首]

5.3 Analysis Services

安装了 SQL Server SP2 后,以下注意事项对 Analysis Services 适用。

[返回页首]

5.3.1 某些 Microsoft Office 2007 功能需要 SQL Server Analysis Services 2005 SP2

在 SQL Server 2005 SP2 中引入。

若要在连接到 Analysis Services 实例时支持 Microsoft Office 2007 中的所有商业智能功能,必须安装 SP2。如果未安装 SP2,则在对 Analysis Services 实例运行需要 SP2 的 Office 2007 功能时,这些功能将被禁用。

[返回页首]

5.3.2 包含链接度量值组的 Analysis Services 数据库在升级后可能无法使用

在 SQL Server 2005 SP2 中引入。

Analysis Services 现在要求链接度量值组中包含的所有维度的粒度与源度量值组中维度的粒度相同。例如,如果源度量值组中的时间维度使用日属性作为粒度属性,则链接度量值组也必须使用日属性作为粒度属性。最常见的违反此规则的 Analysis Services 数据库是使用 SQL Server 2005 的预发布版本进行迁移的 SQL Server 2000 Analysis Services 数据库。

如果数据库违反了此粒度规则,则必须在应用 SP2 之前修改包含链接度量值组的数据库。如果不修改,则该数据库在应用 SP2 后将失效。必须删除此类失效的数据库。

[返回页首]

5.3.3 MDX 行为发生的更改

在 SQL Server 2005 SP2 中引入。

SP2 引入了以下多维表达式 (MDX) 行为更改:

  • 单元在列轴和行轴上的坐标现在与 WHERE 子句中包含的单个元组维度成员的坐标合并在一起。例如,SELECT [USA] FROM [Cube] WHERE [Seattle] 现在将返回 Seattle 而非 USA 的单元值。在 WHERE 子句中以及列轴或行轴上包含给定属性或层次结构中的多个维度成员的查询不受 SP2 的影响,并且可能返回意外结果;将来随时可能对此行为进行更改。

  • 如果查询包含的计算覆盖了嵌套 select 语句中定义的坐标,则此类查询不再保留直观合计。例如,WITH MEMBER Measures.ParentContribution AS (Measures.Sales, Geography.Currentmember.Parent)/Measures.Sales SELECT Measures.ParentValue ON COLUMNS, Geography.Members ON ROWS FROM (Select Geography.USA on 0 from Sales) 现在将返回在父级中所占的比例,而不进行直观合计。

[返回页首]

5.3.4 SP2 之前的备份文件和数据文件夹与 SP2 不兼容

在 SQL Server 2005 SP2 中引入。

由于 SP2 中 Analysis Services 协议和文件格式的向后和向前兼容性发生更改,因此 Analysis Services SP2 数据文件夹和备份无法由 Analysis Services SP1 服务器加载,并且无法在 Analysis Services SP2 服务器和 Analysis Services SP1 服务器之间进行服务器同步。此更改已引入 SQL Server 2005 SP1 QFE 251。

[返回页首]

5.4 Reporting Services

安装了 SQL Server 2005 SP2 后,以下注意事项对 Reporting Services 适用。

[返回页首]

5.4.1 使用 Internet Explorer 7.0 中的“后退”按钮

在 SQL Server 2005 SP2 中引入。

在 Internet Explorer 7.0 中查看包含可展开内容的报表时,使用“后退”按钮不会加载先前查看过的页面。

[返回页首]

5.4.2 报表处理(在 SharePoint 集成模式下)超过两分钟时发生 ASP.NET 超时错误

在以 SharePoint 集成模式运行的报表服务器上,如果长时间运行报表所需的处理时间超过指定的默认超时时间,您可能会遇到 ASP.NET 超时错误。默认情况下,ASP.NET 超时值为 2 分钟。所需处理时间超过两分钟的报表将意外退出,并将出现 Windows SharePoint Services 错误页面,页面上显示以下错误:“出现错误。”

如果您认为发生此错误是由于超时问题,则可以通过在 SharePoint Web 应用程序的 Web.config 文件中添加 httpRuntime executionTimeout 属性来纠正此错误。

请确保提供的值足以完成长时间运行报表的处理。对于本机模式的报表服务器,报表服务器和报表管理器的默认超时值为 9000 秒。为 SharePoint Web 应用程序指定 executionTimeout 时,请考虑选择一个相似的值。

更改 SharePoint Web 应用程序的超时值
  1. 转到 <驱动器>:\inetpub\wwwroot\wss\VirtualDirectories\<目录>。目录名称将基于用于访问 SharePoint 站点的端口号。如果 SharePoint 站点使用端口 80,则路径将为 \inetpub\wwwroot\wss\VirtualDirectories\80。

  2. 打开 Web.config。

  3. 搜索 httpRuntime

  4. 添加 executionTimeout 值。以下示例说明了适用于此属性的语法:

    <httpRuntime maxRequestLength="51200" executionTimeout = "9000" />

有关详细信息,请参阅 MSDN 上的 httpRuntime 元素(ASP.NET 设置架构)

如果已在 SharePoint 场中部署多个应用程序,请针对场中的每个 Web.config 文件重复上述步骤。此项要求适用于 <驱动器>:\inetpub\wwwroot\wss\VirtualDirectories 下面子目录中的所有 SharePoint Web 应用程序 Web.config 文件。它也适用于场中安装在其他计算机上的应用程序的 Web.config 文件。

[返回页首]

5.4.3 Reporting Services 配置工具的版本要求

SQL Server 2005 SP2 引入了更新版本的 Reporting Services 配置工具。如果安装 SP2,则必须使用 SP2 版本的 Reporting Services 配置工具来配置报表服务器。此外,不能使用 SP2 版本的 Reporting Services 配置工具来配置 SP2 之前的报表服务器。之所以出现不兼容问题,是因为此 Reporting Services 配置工具版本使用了不向后兼容的新版 WMI 提供程序。如果试图使用不支持的 Reporting Services 配置工具版本,则将发生以下错误:“WMI 提供程序在 ReportServicesConfigUI.WMIProvider.ConfigurationItem.CreateConfigurationItem 处返回未指定状态。”

[返回页首]

5.4.4 在未安装报表管理器的情况下配置报表服务器虚拟目录时出现错误

如果配置报表服务器虚拟目录但却未安装报表管理器,则 Reporting Services 配置工具将意外关闭并显示以下错误:“SQL Server 2005 Reporting Services 配置工具遇到问题,需要关闭。”尽管出现此错误,但实际上已创建虚拟目录。此错误只发生一次。再次打开此工具时,您将可以完成服务器配置而不会再次遇到此错误。

[返回页首]

5.4.5 包含 Reporting Services 的 SharePoint 服务器场部署的版本要求

如果要部署报表服务器并将其与 SharePoint 服务器场集成,则在场内的所有服务器(包括承载报表服务器的计算机)上都必须使用相同版本的 SharePoint 产品或技术。不能在同一服务器场中混合使用 Windows SharePoint Services 3.0 和 Office SharePoint Server 2007。

[返回页首]

5.4.6 SP1 到 SP2 的升级在某些情况下不更新报表服务器数据库

在报表服务器数据库连接中指定的凭据类型将决定安装程序是否可以将报表服务器数据库从 SP1 版本或 SP2 的 CTP 版本升级到 SP2 最终版本。

如果报表服务器连接到报表服务器数据库时与运行报表服务器 Windows 服务时使用的数据库凭据或 Windows 用户帐户不同,则在升级软件的其余部分时将不升级数据库。如果出现这种情况,则必须使用 Reporting Services 配置工具手动升级报表服务器数据库。在“数据库安装”页面上,单击“升级”以将 SP2 格式应用于报表服务器数据库。

[返回页首]

5.4.7 在 SharePoint 集成模式下不支持的 Reporting Services 部署方案

不能将共享同一报表服务器数据库的两个或更多报表服务器实例与不同的 Windows SharePoint Services 3.0 或 Microsoft Office SharePoint Server 2007 独立服务器部署相集成。这样做将最终导致后端报表服务器数据库中发生数据损坏。不支持的方案为:两个独立的 Windows SharePoint Services 3.0 安装,每个安装都与一个本地报表服务器实例集成,而这两个报表服务器实例共享同一个报表服务器数据库。

[返回页首]

5.5 Windows Vista 注意事项

在 Windows Vista 上安装和运行 SQL Server 2005 SP2 时需要考虑下列注意事项。

[返回页首]

5.5.1 脚本功能与 Microsoft Windows Vista 不兼容

在此版本中,Microsoft Visual Studio for Applications (VSA)(Integration Services 中脚本任务和脚本组件使用的脚本开发环境和运行时引擎)与 Windows Vista 的最终版本不兼容。如果计算机运行的是 Windows Vista 的最终版本,则无法使用该计算机编辑或调试 Integration Services 中的脚本,也无法运行包含脚本的 Integration Services 包。

[返回页首]

5.5.2 由 Windows Vista 中的用户帐户控制导致的问题

Windows Vista 包含一个新功能,即用户帐户控制 (UAC),该功能有助于管理员管理他们对提升权限的使用。在 Windows Vista 上运行时,默认情况下管理员不使用其管理权限。相反,他们以标准(非管理)用户的身份执行大多数操作,仅在必要时临时采用其管理权限。

UAC 会导致一些已知问题。有关详细信息,请参阅 TechNet 上的下列网页:

并非从 Windows 继承的管理员权限

在 Windows Vista 之前的较早版本上,本地 Administrators 组的成员不需要他们自己的 SQL Server 登录名,在 SQL Server 内部无需向他们授予管理权限。他们以内置服务器主体 BUILTIN\Administrators 的身份连接到 SQL Server,并且他们在 SQL Server 内部拥有管理权限,因为 BUILTIN\Administrators 是 sysadmin 固定服务器角色的成员。

在 Windows Vista 上,这些机制仅可用于使用提升的 Windows 权限运行的管理用户,而并不建议使用提升的 Windows 权限。相反,您应该为每个管理用户创建一个 SQL Server 登录名,并将该登录名添加到 sysadmin 固定服务器角色中。对于用来运行 SQL Server 代理作业(包括复制代理作业)的 Windows 帐户,您也应该执行此操作。

重要提示:
如果无法为每个管理用户创建 SQL Server 登录名,则可能会导致 SQL Server 工具和服务出现异常行为。有关详细信息,请参阅已更新的 SQL Server 2005 联机丛书中的“如何从 Windows Vista 连接至 SQL Server”。

应用 SP2 之后,可以运行 Windows Vista 用户设置工具,将用户添加到 sysadmin 固定服务器角色中。有关详细信息,请参阅 SP2 安装文档中的“其他信息(修补程序)”。

以 machinename\Administrator 身份登录时向 sysadmin 固定服务器角色添加新登录名
  1. 单击“开始”,依次指向“所有程序”、“SQL Server 2005”,然后单击“SQL Server Management Studio”。

  2. 连接到 SQL Server。

  3. 若要向 sysadmin 固定服务器角色中添加 Windows 用户,请按下列步骤进行操作:

    1. 单击“安全性”

    2. 右键单击“登录名”,再单击“新建登录名”

    3. 在“登录名”文本框中键入用户名。

    4. 单击“服务器角色”

    5. 选中 sysadmin 复选框,然后单击“确定”

以任何非管理员用户身份登录时向 sysadmin 固定服务器角色添加新登录名
  1. 单击“开始”,依次指向“所有程序”、“SQL Server 2005”,右键单击 SQL Server Management Studio,再单击“以管理员身份运行”

    注意:
    “以管理员身份运行”选项可提升用户权限。

  2. 您将看到“用户帐户控制”对话框。您可能必须提供管理凭据。单击“继续”。

  3. SQL Server Management Studio 中,连接到 SQL Server。

  4. 若要向 sysadmin 固定服务器角色中添加 Windows 用户,请按下列步骤进行操作:

    1. 单击“安全性”

    2. 右键单击“登录名”,再单击“新建登录名”

    3. 在“登录名”文本框中键入用户名。

    4. 单击“服务器角色”

    5. 选中 sysadmin 复选框,然后单击“确定”

拒绝管理员访问报表服务器部署

UAC 可以防止对报表服务器部署的管理访问。若要获得管理访问权限,请使用上面介绍的解决方法连接到 SQL Server,并在主页上在系统级别为您的帐户创建角色分配。只有在为您的帐户创建角色分配和为了获得访问报表服务器的权限(如果角色分配已删除)时,您才需要以提升的权限运行 SQL Server Management Studio。为您的帐户创建角色分配后,可以关闭 SQL Server Management Studio,然后以标准权限将其重新打开。为您的帐户创建的角色分配为您提供足够的权限来为其他用户创建其他角色分配。

拒绝对报表服务器虚拟目录进行本地访问

如果您尝试在本地计算机上使用 Internet Explorer 访问报表管理器或报表服务器,将得到拒绝访问错误。若要纠正此错误,请将报表管理器和报表服务器 URL 添加到 Internet Explorer 中的“受信任的站点”。

无法打开 Notification Services 命令提示

如果尝试打开 Notification Services 命令提示,操作将失败并显示“访问被拒绝”错误。这是因为访问 <驱动器>\Program Files\Microsoft SQL Server\90 下的 Notification Services 文件夹需要管理权限。

若要运行 Notification Services 命令提示,请使用管理员帐户登录到计算机,或以提升的权限运行 Notification Services 命令提示。

使用管理员帐户
  1. 使用本地管理员帐户登录到计算机。

  2. 在“开始”菜单上,依次单击“所有程序”Microsoft SQL Server 2005、“配置工具”,右键单击“Notification Services 命令提示”,再单击“以管理员身份运行”

使用提升的权限
  1. 使用作为本地管理员组的成员的帐户登录到计算机。

  2. 在“开始”菜单上,单击“计算机”

  3. 找到 <驱动器>\Program Files\Microsoft SQL Server\90\NotificationServices。

  4. 在看到消息“您当前不拥有访问此文件夹的权限”时,单击“继续”

    注意:
      如果您没有看到此消息,说明您已经拥有访问此文件夹的权限。

  5. 右键单击“Notification Services 命令提示”,再单击“以管理员身份运行”

SQL Server Management Studio 中的 Notification Services 命令返回错误

如果尝试在 SQL Server Management Studio 中运行 Notification Services 命令,可能出现“未将对象引用设置到对象的实例”错误。这是因为运行某些 Notification Services 命令需要管理权限。

以提升的权限运行 SQL Server Management Studio
  1. 使用管理员帐户登录到计算机。

  2. 在“开始”菜单上,依次单击“所有程序”Microsoft SQL Server 2005,右键单击 SQL Server Management Studio,再单击“以管理员身份运行”

如果不想以提升的权限运行 SQL Server Management Studio,请使用 Notification Services 命令提示来部署和管理 Notification Services。

必须显式授予复制快照共享的权限

UAC 可以防止对快照共享的管理访问。因此,必须对快照代理、分发代理和合并代理使用的 Windows 帐户显式地授予快照共享权限。即使 Windows 帐户是管理员组的成员,也必须执行此操作。有关详细信息,请参阅 SQL Server 联机丛书中的“保护快照文件夹的安全”。

[返回页首]