赞
踩
© 版权所有 Microsoft Corporation,2004。保留所有权利。
SQL Server 文档小组不能解答技术支持问题,但是欢迎您就本自述文档提出建议和意见。通过下面的链接可以快速并直接发送电子邮件反馈。在发送反馈时请使用英文书写。
要提交有关本文档的书面反馈,请单击此处:提交反馈。
1.0 简介
1.1 系统要求
1.2 升级到 Database Components SP4 之前
1.5 有关 SP4 的其他信息
2.0 可以找到并下载 Database Components SP4 的位置
2.1 选择正确的语言
2.2 下载 Database Components SP4
2.3 解压缩 Database Components SP4 文件
2.4 下载和解压缩阶段准则
2.5 Database Components SP4 安装文档
3.0 安装 Service Pack
3.1 准备安装 Database Components SP4
3.2 安装 Database Components SP4
3.3 重新启动服务和应用程序
3.4 在故障转移群集上安装
3.5 在复制服务器上安装 Database Components
3.7 升级链接服务器的目录
3.8 卸载 Database Components SP4
3.9 重新应用 Database Components SP4
4.0 其他安装信息
4.1 无值守安装
4.2 再分发 SP4 Database Components
4.3 Systems Management Server 分布式安装
5.0 文档说明
5.1 数据库增强功能
5.2 复制增强功能
5.6 数据转换服务增强功能
5.7 XML 增强功能
5.8 虚拟备份设备 API 增强功能
5.9 错误报告
5.10 可维护性增强功能
5.11 English Query 增强功能
5.12 用于 C 语言的 DB-Library 和嵌入式 SQL
本自述文件描述如何使用 Microsoft® SQL Server™ 2000 Service Pack 4 (SP4) 的 Database Components 部分将现有的 SQL Server 2000 数据库引擎实例升级到 SQL Server 2000 SP4。
安装 SP4 的一般过程如下:
SQL Server 2000 SP4 包含四个部分:
所有 SQL Server Service Pack 都是累积的。SQL Server SP4 包含 SP1、SP2、SP3 和 SP3a 中提供的修复程序。
Database Components SP4 只能对企业版、标准版、开发版或个人版中的 SQL Server 2000 数据库引擎实例使用。SQL Server 2000 SP4 的其他部分应用于其他 SQL Server 2000 组件,例如 Analysis Services、MSDE 2000 或 SQL Server 2000(64 位)。Analysis Services SP4、MSDE 2000 SP4 和 SQL Server 2000 SP4(64 位)的用法都有各自的自述文件进行描述。其他自述文件可以从此 Microsoft 网站获得。
本节描述系统要求的更改以及影响 Database Engine SP4 安装的相关系统问题。有关 SQL Server 2000 系统要求的常规信息,请访问此 Microsoft 网站。
如果下列任一安全策略已被设置为“禁止安装”,则 Database Components SP4 安装将失败。
如果使用“禁止安装”设置,则必须在安装 Database Components SP4 之前将该设置更改为“默认继续”。如有必要,可以在安装完成之后将该策略还原为以前的设置。
说明 “禁止安装”不是这些安全策略的默认设置。
设置安全策略
如果某个应用程序正在使用您的 SQL Server 2000 实例,则在升级到 Database Components SP4 之前,应询问应用程序提供商是否所有 SQL Server 2000 升级注意事项都适用于该应用程序。
本节描述在使用 Database Components SP4 升级现有的 SQL Server 2000 数据库引擎实例之前,必须解决的问题以及必须执行的任务。
在 Database Components SP4 实例上创建的数据库或数据库备份可以在早期版本的 SQL Server 2000 上附加或还原。但是,对复制拓扑中的数据库有一些限制。有关更多信息,请参见 1.2.2 复制拓扑或日志传送拓扑中实例的注意事项。
Database Components SP4 安装程序自动检测要升级的 SQL Server 2000 实例所使用的 SQL Server 2000 的版本。安装程序仅升级该实例已安装的组件。例如,如果对运行 SQL Server 2000 标准版的计算机应用此 Service Pack,则不会尝试升级只有 SQL Server 2000 企业版中才有的组件。
可以将 Database Components SP4 应用于 SQL Server 的单个默认实例或命名实例。如果要将多个 SQL Server 2000 实例升级到 SP4,则必须对每个实例应用 SP4。如果计算机上有一个或多个 SQL Server 2000 实例,那么当其中一个实例升级到 SP4 时,所有的工具都将升级到 SP4。每个实例并不具有单独的工具副本。
如果某个应用程序正在使用您的 SQL Server 2000 实例,应首先咨询应用程序提供商是否存在任何特定于该应用程序的 SQL Server 2000 升级注意事项。
在使用 Database Components SP4 升级现有的数据库引擎实例之前,建议您计划一下如何在以后需要时将实例还原到先前状态。安装 SQL Server 2000 Database Components SP4 时,会为了进行维护而更改系统表。还会升级作为复制拓扑成员的用户数据库和分发数据库。由于这些更改的性质,无法轻易删除 Database Components SP4。要还原为安装 Database Components SP4 前所运行的版本,必须先卸载 SQL Server 2000 数据库引擎实例,然后重新安装该实例。接下来,如果运行过以前的 SQL Server 2000 Service Pack 或应用过任何热修复程序,必须将相应的 Service Pack 和修复程序重新应用于该实例。
说明 要删除 SP4,必须拥有在应用 SP4 之前最新备份的 master、model 和 msdb 数据库。有关更多信息,请参见 3.1.1 备份 SQL Server 数据库。
有关更多信息,请参见 3.8 卸载 SP4。
SQL Server 2000 SP4 安装程序升级作为复制拓扑成员的用户数据库。此升级因素可能会影响复制的用户数据库的备份和还原功能。在安装 SP4 之前,确保复制数据库和文件组是可写的。有关将 SP4 应用于复制拓扑中的数据库的更多信息,请参见 3.5 在复制服务器上安装 Database Components。复制的其他备份和还原注意事项在 5.2.6 合并复制的备份和还原问题中详细描述。
说明 如果 SQL Server 实例不是复制拓扑的一部分,则可以在任何其他版本的 SQL Server 2000 上备份用户数据库并进行还原。
如果 SP4 安装程序检测出用户数据库或文件组不可写,将执行以下操作:
Setup has detected one or more databases and filegroups which are not writable.
说明 该消息不会影响 Database Components 的无值守安装。有关无值守安装的更多信息,请参见 4.1 无值守安装。
除非安装程序日志中列出的某些数据库是复制拓扑的成员,否则可以忽略此警告。如果安装程序日志中列出的任何只读数据库是复制拓扑的成员,则必须使这些数据库可写,并将 SP4 安装程序重新应用于该 SQL Server 2000 实例。
有关使数据库可写的信息,请参见 3.6 将 SP4 应用于复制拓扑中的只读数据库或文件组。有关重新应用 SP4 的更多信息,请参见 3.9 重新应用 Database Components SP4。
由于不可写数据库不会导致安装失败,因此不必在升级到 Database Components SP4 之前删除日志传送。但是,如果该数据库要将日志传送到作为复制发布服务器的数据库,则必须执行下列操作:
- USE master
- GO
- EXEC sp_vpupgrade_replication
- GO
如果在应用 SP4 时未将所有向发布数据库传送日志的不可写数据库脱机,将收到以下错误:
Error Running Script sp_vpupgrade_replication (1)
如果收到该错误,请按照前面的步骤操作。
说明 安装过程中,安装程序不会区分只读数据库和脱机或可能有问题的数据库。如果在安装过程中,某个复制数据库或文件组处于脱机状态或可疑状态,并包含在复制拓扑中,则必须使数据库可写后再重新应用 Service Pack。
Database Components SP4 安装程序确定是否要将已安装的 Microsoft 数据访问组件 (MDAC) 版本升级为 MDAC 2.8 SP1。
说明 如果安装了 Database Components SP4 的计算机随后升级到更新的操作系统平台,则 SP4 安装的 MDAC 版本将不再存在。
说明 有关确定计算机上 MDAC 版本的说明,请参见知识库文章 301202。
Database Components SP4 安装 MDAC 2.8 SP1 时,MDAC 的语言版本与 Database Components SP4 的语言版本相同。如果要保留与 Database Components SP4 不同的 MDAC 语言版本,则必须下载并安装相应的 MDAC 2.8 SP1 语言版本,然后再运行 Database Components SP4 安装程序。可以从此 Microsoft 网站下载 MDAC 2.8 SP1 的特定语言版本。
MDAC 2.8 SP1 包括到 MSXML 3.0 SP7 的升级。MDAC 2.81 还更新 Microsoft SQL Server 2000 附带的 SQLXML 1.0。此 Service Pack 不安装或更新 SQLXML 3.0。如果应用程序要求使用 SQLXML 3.0,必须从此 Microsoft 网站下载并安装。有关 MDAC 2.8 SP1 的更多信息,请访问此 Microsoft 网站。有关 MDAC 版本的更多信息,请参见知识库文章 822758。知识库文章 884930 中介绍了 MDAC 2.8 SP1 中包含的修复程序。
说明 预发行版的 SQL Server 2000 SP4 安装预发行版的 MSXML 3.0 SP7。如果已安装了预发行版的 SQL Server 2000 SP4,建议您从此 Microsoft 网站下载并安装 MSXML 3.0 SP7 最终发布版。
在运行安装程序之前,必须确定要升级的 Database Components 实例的版本。
确定已安装的 SQL Server 2000 Database Components 版本
SELECT SERVERPROPERTY('ProductLevel')
SELECT @@VERSION
SELECT SERVERPROPERTY('ProductVersion')
SQL Server 2000 版本和级别 | @@VERSION | 产品级别 |
SQL Server 2000 原始版本 | 8.00.194 | RTM |
Database Components SP1 | 8.00.384 | SP1 |
Database Components SP2 | 8.00.534 | SP2 |
Database Components SP3、SP3a 或 MSDE 2000 Release A | 8.00.760 | SP3 |
Database Components SP4 | 8.00.2039 | SP4 |
说明 如果在安装产品之后或安装以前的 Service Pack 之后应用了热修复程序,您的产品版本与上述值可能会有所不同。例如,在对 SQL Server 2000 SP3a 应用了安全修复程序 MS03-031 之后,@@VERSION
返回值 8.00.818。
SELECT SERVERPROPERTY('Edition')
如果该查询返回“desktop engine”,则说明您正在运行 MSDE 2000 实例;否则,您正在运行 SQL Server 2000 数据库引擎实例。
该 Service Pack 中包含的修复程序列表将列在 Microsoft 知识库文章 888799 中。888799 中列出的每个修复程序都包含一个链接,指向有关该修复程序所解决问题的知识库文章。使用指向各个知识库文章的链接可以了解各个修复程序的信息。
对于未能及时包含在本自述文件中、与 SQL Server 2000 Service Pack 4 相关的信息,将发布在 Microsoft 知识库文章 884525 中。
本自述文件中提到的知识库文章位于 Microsoft 支持知识库。
在知识库中查找文章
所有公开发布的 SQL Server 2000 SP3a 和 SQL Server 2000(64 位)安全公告已在 SP4 中解决。
如果您在 2004 年 12 月 2 日后收到 SQL Server 2000 热修复程序,则该热修复程序可能未包括在 SP4 中。请与主要的产品支持提供商联系获取用于 SQL Server 2000 SP4 的同一热修复程序。
SQL Server 2000 SP4 包括可维护性增强功能,使您可以卸载以后的热修复程序。有关更多信息,请参见 5.10 可维护性增强功能。
Microsoft SQL Server 2000 SP4 包含了对 SQL Server 2000 组件的更改,可以解决 Slammer 蠕虫造成的问题:
对于已升级或计划将 SQL Server 2000 数据库和发布服务器升级到 SP4 的 Microsoft SQL Server 2000 Windows® CE Edition (SQL Server CE) 和 SQL Server 2005 Mobile Edition (SQL Mobile) 用户,还应该更新 Microsoft Internet 信息服务 (IIS) 服务器上的服务器复制组件。对于 SQL Server CE 和 SQL Mobile,更新的服务器工具安装程序已可用。
说明 即使在升级到 SQL Server 2000 SP3 或 SP3a 之后更新了服务器复制组件,仍必须安装最新的 SP4 特定服务器工具组件更新。
SQL Server 2000 SP4 消除了 OPENXML 对操作系统安装的 MSXML 版本的依赖性。Database Components SP4 将安装 MSXML 技术的内部版本,该版本向后兼容 MSXML 2.6。
SQL Server 2000 联机丛书是 Database Components 2000 的主要用户文档。联机丛书会使用修复程序和新的信息定期更新。
针对 SP3 和 SP3a 更新的 SQL Server 2000 数据库引擎和 Analysis Services 的示例已经可用。可以从此 Microsoft 网站下载这些更新的示例。
SQL Server 2000 SP4 通过下列方式分发:
如果您有 SP4 光盘,则可以直接使用光盘中的 Database Components SP4 文件,将 SQL Server 2000 实例升级到 SP4。
说明 LLL 代表因语言而异的指示符。
如果没有 SP4 光盘,可以下载 SQL2000-KB884525-SP4-x86-LLL.exe,然后运行该文件,将 Database Components SP4 文件解压缩到计算机上。SQL2000-KB884525-SP4-x86-LLL.exe 会在磁盘上创建一组文件夹和文件,组织结构与 SP4 光盘上的 Database Components 文件夹和文件相同。在完成该文件解压缩阶段之后,即可从磁盘上的文件夹安装 Database Components SP4。
SQL Server 2000 Database Components Service Pack 是针对各种语言提供的。要升级 SQL Server 2000 实例,必须获取与实例语言相同的 Service Pack。Service Pack 可以在 SQL Server 2000 SP4 光盘上获取,也可以通过下载 Database Components SP4 文件获取。例如,如果升级日语版的 SQL Server 2000 实例,必须获取日语版的 Database Components SP4。
如果无法确定 SQL Server 2000 实例的语言,请执行下列操作:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/CurrentVersion
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/InstanceName/CurrentVersion
其中,InstanceName 是实例的名称。
Language 注册表值(用十六进制表示) | Language 注册表值(用十进制表示) | 该实例的语言 |
0x00000404 | 1028 | 繁体中文 |
0x00000407 | 1031 | 德语 |
0x00000409 | 1033 | 英语 |
0x0000040a | 1034 | 西班牙语 |
0x0000040c | 1036 | 法语 |
0x00000410 | 1040 | 意大利语 |
0x00000411 | 1041 | 日语 |
0x00000412 | 1042 | 朝鲜语 |
0x00000804 | 2052 | 简体中文 |
下载 Database Components SP4 的自解压缩安装包:
下载了包含安装包的自解压缩文件之后,必须解压缩 Database Components SP4 文件:
在从 Internet 下载并解压缩 Database Components SP4 安装文件时,请遵循下列准则:
说明 如果将 Service Pack 解压缩到网络共享目录中,指定的文件夹路径是运行 SQL2000-KB884525-SP4-x86-LLL.exe 的文件夹的相对路径。
Database Components SP4 安装文件包含经过更新的安装文档,在 Database Components SP4 安装过程中,通过单击“帮助”可以访问此文档。此安装文档不会更新计算机上已安装的 SQL Server 2000 联机丛书的版本。有关如何获取更新版 SQL Server 2000 联机丛书的信息,请参见 1.6 SQL Server 2000 联机丛书更新已可用。如果只希望访问更新的 SQL Server 2000 SP4 安装文档,而不更新 SQL Server 2000 联机丛书,请运行 Setupsql.chm 文件。Setupsql.chm 位于 SP4 CD-ROM、包含解压缩 Service Pack 文件的本地文件夹或网络共享位置下的 /Books 子文件夹中。
要安装 Database Components SP4,请遵循以下各节中的安装说明。在安装 Database Components SP4 之前,请查阅 1.0 简介中的资料。安装 Database Components SP4 的步骤如下:
在安装 Database Components SP4 之前,必须执行下列操作:
在安装 Database Components SP4 之前,需要备份 master、msdb 和 model 数据库。安装 SP4 会修改 master、msdb 和 model 数据库,从而导致它们与 SQL Server SP4 之前的版本不兼容。如果决定重新安装 SQL Server 2000 而不安装 SP4,则必须备份这些数据库。
尽管 SP4 只对作为复制拓扑成员的用户数据库执行更新,但是备份用户数据库仍不失为明智之举。
如果在升级到 SP4 之后出现故障,则可以使用现有的复制备份方案将数据库还原到已知点。建议在应用 SP4 之后,为复制拓扑中包含的所有用户数据库创建日志或完整的数据库备份。这样,如果复制数据库失败,就不必在还原数据库之后重新应用 SP4。
如果没有为 master 和 msdb 数据库选择“自动增长”选项,那么数据库必须至少有 500 KB 的可用空间。要确认 master 或 msdb 数据库是否具有这么多空间,请分别对它们运行 sp_spaceused 系统存储过程。如果任一数据库中未分配的空间少于 500 KB,则应增加相应数据库的大小。有关更多信息,请参见 SQL Server 2000 联机丛书中的“扩充数据库”。
如果为 master 和 msdb 数据库选择了“自动增长”选项,并且驱动器上有足够的空间,可以跳过上述空间确认步骤。
要确认是否已在 SQL Server 2000 中选中了“自动增长”选项,请打开 SQL Server 企业管理器,右键单击数据库图标,然后单击“属性”。确认已选中“文件自动增长”复选框。
在安装 Database Engine SP4 之前,应停止所有应用程序和服务,包括“控制面板”、“添加和删除程序”、“SQL Server 2000 Reporting Services”、“SQL Server 2000 Notification Services”以及所有连接到所升级的数据库引擎实例的应用程序。
可以在不事先关闭服务的情况下应用 Database Components SP4,但事后除非重新启动系统,否则有些服务将无法重新启动。如果不关闭服务,安装程序完成时将提示您重新启动计算机。如果不重新启动系统,下列服务可能会无法启动:
您可以降低安装 Database Components SP4 之后需要重新启动计算机的可能性。为降低这种可能性,在运行安装程序之前,应停止上表中的服务和应用程序。
不能在群集环境中停止这些服务。有关更多信息,请参见 3.4 在故障转移群集上安装。
下列信息仅适用于 SQL Server 2000 的 Database Components 部分。
从下列任一位置运行 Setup.bat 脚本:
说明 为了从网络共享位置安装数据库组件,必须首先执行下列操作之一:
安装程序会显示对话框提示您输入信息,例如,是使用 SQL Server 身份验证还是 Windows 身份验证。如果选择 SQL Server 身份验证,则必须为安装程序提供 sa 登录的密码。如果选择 Windows 身份验证,则必须在登录到 Windows 时使用作为 sysadmin 固定服务器角色成员的 Windows 登录帐户为要升级的 SQL Server 2000 实例运行安装程序。
然后,安装程序将执行下列任务:
说明 该密码更改会立即生效,即使安装失败,密码仍会被改变。
说明 只有在对属于复制拓扑的不可写数据库或文件组应用 SP4 时,才需执行上述步骤。有关更多信息,请参见 3.6 将 SP4 应用于复制拓扑中的只读数据库或文件组。
“身份验证模式”对话框并不选择当前的默认设置用于安装。该对话框的默认设置是 Windows 身份验证。通过非空的 sa 登录密码,可以使用该对话框切换到 Windows 身份验证或混合模式身份验证。
说明 在更改身份验证模式或 sa 登录密码之前,请确保这种更改不会影响现有的应用程序。例如,如果将一个 SQL Server 实例从选择混合模式身份验证更改为仅使用 Windows 身份验证,则试图使用 SQL Server 身份验证进行连接的现有应用程序将无法连接,直到将身份验证模式设置为 Windows 身份验证为止。此外,如果更改 sa 登录密码,则使用旧密码的应用程序或管理进程将无法连接,直到将它们配置为使用新密码为止。
重要 出于安全考虑,绝对不要使 sa 登录密码为空。
安装程序在 Sqlsp.log 文件中记录所执行的每个操作。该日志文件存储在运行安装程序的计算机的 Windows 文件夹中。如果升级多个实例,则只有最近的升级操作记录在此日志中。
“后向兼容性一览表”对话框列出了将 Service Pack 应用于 SP3 之前的 SQL Server 版本时可能遇到的问题。进行升级的 SQL Server 2000 实例的配置不同,一览表中显示的兼容性问题也不同。
在此对话框中可解决下列后向兼容性问题:
安全说明 建议不要对所有数据库启用跨数据库所有权链接。
完成安装后,可能会提示您重新启动系统。3.1.3 在运行 Database Components SP4 安装程序之前停止服务和应用程序中提供了有关何时必须重新启动的准则。在系统重新启动(或者完成安装但未请求重新启动)之后,使用“控制面板”中的“服务”应用程序,确保在应用 Service Pack 之前停止的所有服务现在正在运行。在应用 Service Pack 之前可能已经停止的服务包括 DTC、Microsoft Search、MSSQLServer、MSSQLServerOLAPService 和 SQLServerAgent 服务或其实例专用的同等服务。
请重新启动运行 Service Pack 安装程序之前关闭的应用程序。
此时,还建议您对升级后的 master 和 msdb 数据库进行备份。
以下信息仅适用于作为故障转移群集一部分的 SQL Server 2000 组件。
在故障转移群集上安装 Service Pack
说明 群集资源脱机后,群集服务还将导致所有依赖资源脱机。
说明 安装程序可能需要重新启动故障转移群集节点。该重新启动将使用经过更新的文件替换安装时使用的文件。
如果要将默认的(非群集的)SQL Server 实例升级为虚拟服务器,则必须将默认的(非群集的)实例升级为虚拟实例,然后应用 SP4。有关升级的更多信息,请参见 SQL Server 2000 联机丛书中的“如何从默认实例升级到 SQL Server 2000 的默认群集实例(SQL Server 2000 安装)”。
有关如何在故障转移群集上安装 SP4 的其他信息,请参见知识库文章 811168。
如果需要在故障转移群集中重建节点
说明 如果从正在运行虚拟服务器的节点上运行安装程序,则必须将 SP4 重新应用于所有节点。还必须再次运行数据库升级脚本。
以下信息仅适用于作为复制拓扑一部分的现有 SQL Server 2000 实例:
说明 许多情况下,尤其在合并复制中,分发服务器和发布服务器位于同一台服务器,在同一时间升级。
在以下情况下,可能需要使系统暂停(停止所有更新)并同时升级所有服务器。
下表中包括的服务器既发布又订阅允许在订阅服务器上进行更新的发布。如前所述,对于允许在订阅服务器上进行更新的拓扑,必须遵循下列升级顺序:分发服务器、发布服务器、订阅服务器。此顺序要求,对于合并发布,先升级服务器 A;对于通过更新订阅服务器进行的事务发布,先升级服务器 B。在此情况下,必须使系统暂停,然后同时升级这些服务器。
服务器 A | 服务器 B |
---|---|
用于合并复制的发布服务器/分发服务器 | 用于合并复制的订阅服务器 |
用于通过更新进行事务复制的订阅服务器 | 用于通过更新进行事务复制的发布服务器/分发服务器 |
在此示例中,可以首先升级服务器 A,因为只读事务复制允许在升级发布服务器/分发服务器之前先升级订阅服务器。
服务器 A | 服务器 B |
---|---|
用于合并复制的发布服务器/分发服务器 | 用于合并复制的订阅服务器 |
用于只读事务复制的订阅服务器 | 用于只读事务复制的发布服务器/分发服务器 |
以下信息仅适用于作为复制拓扑一部分的 SQL Server 2000 组件。
如果存在只读数据库或文件组,则安装程序将显示以下消息:
Setup has detected one or more databases and filegroups which are not writable.
通常,可以忽略此警告并继续运行安装程序。但是,如果安装程序日志中列出的任何只读数据库是复制拓扑的成员,则必须使这些数据库可写,并将 SP4 安装程序重新应用于该 SQL Server 2000 实例。
说明 此消息不影响无值守安装。有关无值守安装的更多信息,请参见 4.1 无值守安装。
安装过程中,安装程序不会区分只读数据库和脱机或可能有问题的数据库。如果复制拓扑中的数据库或文件组在安装时是只读的,必须重新应用 Service Pack 来升级该数据库。有关如何使数据库联机的更多信息,请参见 SQL Server 2000 联机丛书中的“附加和分离数据库”主题。有关诊断可能有问题的数据库的更多信息,请参见 SQL Server 联机丛书中的“服务器和数据库疑难解答”主题。
对只读数据库应用 Database Components SP4
ALTER DATABASE
语句使只读数据库可写,如下所示: ALTER DATABASE database SET READ_WRITE
ALTER DATABASE
重新使数据库只读,如下所示: ALTER DATABASE database SET READ_ONLY
对只读文件组应用 SP4
ALTER DATABASE
使只读文件组可写,如下所示: - ALTER DATABASE Database
- MODIFY FILEGROUP filegroup_name READWRITE
ALTER DATABASE
重新使文件组只读,如下所示: - ALTER DATABASE Database
- MODIFY FILEGROUP filegroup_name READONLY
有关 ALTER DATABASE 的更多信息,请参见 SQL Server 2000 联机丛书中的“ALTER DATABASE”参考主题。有关重新应用 SP4 的更多信息,请参见 3.9 重新应用 Database Components SP4。
将 SQL Server 2000 数据库引擎实例升级到 Database Components SP4 时,可能需要确保某些系统存储过程在其他 SQL Server 或 MSDE 实例中已更新。
Database Components SP4 包括将 Microsoft 数据访问组件 (MDAC) 升级到 MDAC 2.8 SP1。MDAC 2.8 SP1 包括对 SQLOLEDB 提供程序和 SQL Server ODBC 驱动程序的更新。有关更多信息,请参见 1.3 验证 Microsoft 数据访问组件的版本。如果提供程序或驱动程序连接到 SQL Server 或 MSDE 实例,则该提供程序或驱动程序将使用一组系统存储过程,称为目录存储过程。实例上目录存储过程的版本必须等于或高于提供程序和驱动程序所使用的版本。如果尝试连接到的 SQL Server 或 MSDE 实例包含更低版本的目录存储过程,将收到以下错误消息:
The ODBC catalog stored procedures installed on server <ServerName>
are version <OldVersionNumber>; version <NewVersionNumber> or later
is required to ensure proper operation. Please contact your system
administrator.
每个版本的提供程序和驱动程序都是随名为 Instcat.sql 的脚本附带的。Instcat.sql 会升级任何包含更低目录版本的 SQL Server 或 MSDE 实例中的目录存储过程。
安装了 Database Components SP4 之后,必须针对任何版本低于 SQL Server 2000 SP4 并具有以下特性的 SQL Server 或 MSDE 实例,从 Database Components SP4 运行 Instcat.sql 脚本:
在使用 Windows 身份验证模式的实例上升级目录存储过程:
osql -E -SComputerName -ilocation/instcat.sql
osql -E -SComputerName/InstanceName -ilocation/instcat.sql
在使用混合模式的实例上升级目录存储过程:
- osql -UAnAdminLogin -PAdminPassword -SComputerName
- -ilocation/instcat.sql
- osql -UAnAdminLogin -PAdminPassword
- -SComputerName/InstanceName -ilocation/instcat.sql
其中:
Instcat.sql 脚本可生成许多消息。通常,这些消息不指示任何错误;它们只是通知您脚本中每条 Transact-SQL 语句所影响的行数。最后一条消息应指明脚本是否成功运行。
要删除 Database Components SP4,请执行本节中的步骤。
说明 不卸载 MDAC 更新。有关更多信息,请参见 1.3 验证 Microsoft 数据访问组件的版本。
为了能够还原到安装 SP4 之前 SQL Server 2000 组件的版本,必须先备份 master、msdb 和 model 数据库,然后再安装 SP4。有关更多信息,请参见 3.1.1 备份 SQL Server 数据库。
如果复制涉及到任何数据库,必须禁用发布。
禁用发布:
还原到安装 SP4 之前的 SQL Server 版本
警告 还原到安装 SP4 之前的 SQL Server 2000 版本后,将丢失自应用 SP4 之后对 master、msdb 和 model 数据库所做的所有更改。
以下信息适用于所有组件。
在以下情况中,必须重新应用 SP4:
要重新应用 SP4,请执行 3.0 安装 Service Pack 中的步骤。
本节描述仅在某些特殊情况下适用的其他一些 Service Pack 安装注意事项。
Database Components SP4 不再包括预定义的安装程序初始化 (.iss) 文件。但是,每次运行 Database Components SP4 的有值守安装时,都会将安装选项写入位于系统文件夹的 setup.iss 文件。以后可以使用此 .iss 文件来运行 Database Components SP4 的无值守安装。有关执行无值守安装的更多信息,请参见 SQL Server 2000 联机丛书中的主题“执行无值守安装”。
以下是有关无值守安装的注意事项:
start /wait setupsql.exe -s -sms -f1 C:/Windows/setup.iss -sapwd password
安全说明 如果可能,请在运行时提供安全凭据。如果将凭据存储在脚本文件中,必须确保文件安全,以防未经授权的访问。
安全说明 强烈建议您不要使用空白密码,因为空白密码会大大增加安全隐患。
无值守安装开关 | 描述 |
---|---|
UpgradeMSSearch | 此开关用于设置全文目录的重建。如果启用了全文搜索,必须将此开关设置为 1。有关更多信息,请参见 5.1.4 安装完成后重建全文目录。 |
MSXTSXUpgraded | 此开关用于解决有关升级主/目标服务器配置的问题。如果要对主服务器或目标服务器应用 SP4,则必须将此开关设置为 1。有关更多信息,请参见 5.3.2 主/目标服务器配置的更改。 |
EnableCrossDBChaining | (可选)此开关用于启用跨数据库所有权链接。要启用跨数据库所有权链接,请将此开关设置为 1。有关更多信息,请参见 5.1.10 跨数据库所有权链接。 |
EnableErrorReporting | (可选)此开关用于启用错误报告。要启用错误报告,请将此开关设置为 1。有关更多信息,请参见 5.9 错误报告。 |
Database Components SP4 包括自解压缩文件 Sqlredis.exe。在运行 Sqlredis.exe 时,它将执行以下操作:
可以按照 SP4 附带的 Redist.txt 文件中的条款和条件再分发 Sqlredis.exe 文件。
无法从远程位置安装 Database Components SP4。但是,可以使用 Microsoft Systems Management Server 在运行 Windows Server 2003、Windows XP 或 Windows 2000 的多台计算机上自动安装 SP4。要执行该操作,必须使用包定义文件 (Smssql2ksp4.pdf) 在 Systems Management Server 中自动创建 SQL Server 包。然后,SQL Server 包将被分发并安装在运行 Systems Management Server 的计算机上。Sms2kdef.bat 是批处理文件,它使用 Systems Management Server 启动无值守安装。在这种类型的安装中,安装程序会自动检测所需的相关系统信息。不需要任何用户输入。
本节介绍在应用 Database Components SP4 之后可能发生的问题以及运行 SP4 时可以使用的新功能。在通过运行 Service Pack 从任何早期版本的 SQL Server 2000 升级时,可能会出现这些问题。本节不描述 SP4 中提供的所有修复程序。有关这些修复程序的完整列表,请参见 Microsoft 知识库文章 888799。
对于未能及时包含在本自述文件中、与 SQL Server 2000 Service Pack 4 相关的信息,将发布在 Microsoft 知识库文章 884525 中。
下列增强功能适用于安装了 Database Components SP4 的 SQL Server 2000 实例。
在 SP1 中引入
散列组 (hash teams) 已删除。由于 SQL Server 2000 中的某些增强功能,使用散列组已不能获得它们在 SQL Server 7.0 中所提供的性能优势。而且,删除散列组使得 SQL Server 2000 更加稳定。
因此,查询优化器不再用散列组生成查询计划。
在极个别的情况下,删除散列组可能会使查询的处理速度减慢。请分析这类查询并确定创建更适合的索引是否能使查询性能恢复到以前的水平。
在 SP1 中引入
此 Service Pack 添加了两个 Affinity Mask 开关。
使用此 Service Pack,可以指定使用哪些 CPU 来运行用于磁盘 I/O 操作的线程。这一开关必须与 Affinity Mask 选项结合起来使用。有关更多信息,请参见文章 298402。
使用此 Service Pack,可以将支持虚拟接口体系结构 (VIA) 的系统配置为将 SQL Server 连接从某些网卡绑定到一个处理器或一组处理器。这一开关必须与 Affinity Mask 选项结合起来使用。有关更多信息,请参见文章 299641。
在 SP2 中引入
如果遇到 Microsoft 知识库文章 306467 中描述的 SQL Server 2000 错误 355069,此 Service Pack 只能防止由于数据修改而在未来出现意外结果。所以,除了应用此修复程序外,所有基于带有筛选条件的视图的索引都必须重新创建。
在 SP3 中引入
从 SP2 或更低版本升级时,作为 SP4 安装的一部分将重建所有全文目录。该重建过程是自动执行的,并且会大量耗用资源。完成该重建过程之前,查询全文目录可能会仅返回部分结果或不返回任何结果。安装 SP4 之后,系统事件日志中包含一些消息,指出目录已破坏、版本太旧以及必须重建。
有关信息,请参见知识库文章 327217,其中还讨论了重建过程中保持全文搜索可用以及避免自动重建的可能解决办法。
在 SP3 中引入
使用 @Action=Auto_Fix 参数运行 sp_change_users_login 时,现在必须指定密码。sp_change_users_login 将把此密码赋给它为用户创建的任何新的登录。下例显示了新的 @Password 参数:
- sp_change_users_login [ @Action = ] 'action'
- [ , [ @UserNamePattern = ] 'user' ]
- [ , [ @LoginName = ] 'login' ]
- [ , [ @Password = ] 'password' ]
@Password 参数只能与 @Action=Auto_Fix 一起使用。下例显示了在使用 Auto_Fix 时 sp_change_users_login 命令的新语法。SQL Server 联机丛书中的其他示例没有变化。
- USE pubs
- go
- EXEC sp_change_users_login 'Auto_Fix', 'Mary', NULL, 'B3r12-36'
- Go
在 SP3 中引入
如果未明确设置 DisallowAdhocAccess 注册表选项,则默认情况下,不允许对 OLE DB 提供程序进行特殊访问。这意味着特殊查询语法(如 OPENDATASOURCE 和 OPENROWSET)无法针对远程服务器工作。要允许特殊访问,必须明确将 DisallowAdhocAccess 选项设置为 0。
在 SP3 中引入
为了更有效地处理包含 LIKE 谓词的远程查询,在 SP3 中添加了 SqlServerLike 选项。在 SQL Server 2000 SP3 或更高版本中,现在有两个选项可用来将 LIKE 运算发送到链接服务器。如果用于链接服务器的 OLE DB 提供程序支持 LIKE 运算符和通配符的 SQL Server 语法,则可以指定 SqlServerLIKE 选项,以便让 SQL Server 使用 SQL Server 语法发送 LIKE 运算。如果用于链接服务器的 OLE DB 提供程序报告它支持 Entry Level ANSI/ISO SQL-92 语法或者返回 SQLPROP_ANSILIKE 属性,则 SQL Server 将使用 SQL-92 语法将 LIKE 运算发送到链接服务器。有关 SQLPROP_ANSILIKE 的更多信息,请参见 SQL Server 2000 联机丛书中的“SQLPROPSET_OPTHINTS 属性集程序设计”主题。
必须添加一个注册表项值,才能为 OLE DB 提供程序启用 SqlServerLIKE 选项。
安全说明 如果注册表编辑不当,可能会导致严重问题并需要重新安装操作系统。Microsoft 不能保证因注册表编辑不当而导致的问题会得到解决。编辑注册表之前,请备份所有重要数据。
HKEY_LOCAL_MACHINE/Software/Microsoft/Microsoft SQL Server/<Instance Name>/Providers/<Provider Name>
HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Providers/<Provider Name>
在 SP3 中引入
对于分布式查询,SQL Server 除了返回服务器错误信息以外,还返回提供程序错误信息。当相互链接的服务器之间的查询导致错误时,SQL Server 将检查该提供程序是否支持 IErrorRecords OLE DB 接口。如果支持此接口,则 SQL Server 将调用 GetErrorInfo 函数从该提供程序中获取附加的错误信息,并将这些信息作为错误消息的一部分返回给用户。如果不支持 IErrorRecords 接口,则 SQL Server 的行为没有任何更改:SQL Server 将返回一般性错误。
例如,如果对使用 MSDASQL 的服务器(该服务器不支持 sql_variant)运行下列查询:
- SELECT * FROM remote2k.dqtable.dbo.sqlvariantnotnull
- --Remote2k is a loopback server.
在应用 SP3 之前,SQL Server 返回下列错误消息:
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'msdasql' supplied inconsistent metadata for a column.
Metadata information was changed at execution time.
在应用 SP3 或更高版本之后,SQL Server 返回下列错误消息:
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'msdasql' supplied inconsistent metadata for a column.
Metadata information was changed at execution time.
OLE DB error trace [Non-interface error: Column 'sql_variant' (compile-time
ordinal 3) of object '"dqtable"."dbo"."sqlvariantnotnull"' was reported
to have a DBCOLUMNFLAGS_ISFIXEDLENGTH of 16 at compile time and 0 at run time].
在 SP3 中引入
SP3 以及更高版本包含新函数 fn_get_sql,该函数为指定的 SQL 句柄返回 SQL 语句的文本。此外,为了支持该函数,已在 sysprocesses 系统表中添加了三个新列:sql_handle、stmt_start 和 stmt_end。
fn_get_sql 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.6 SQL Server 2000 联机丛书更新已可用。这是 fn_get_sql 的英语版参考主题。
在 SP3 中引入
此 Service Pack 提供了一个新选项,可以用来打开和关闭跨数据库所有权链接。
在安装 Database Components SP4 时,安装程序的“后向兼容性一览表”对话框中将显示一个用来配置跨数据库所有权链接的选项。默认情况下,安装程序对所有用户数据库关闭跨数据库所有权链接。您可以对所有数据库启用跨数据库所有权链接。有关更多信息,请参见“后向兼容性一览表”对话框。
说明 建议不要对所有数据库启用跨数据库所有权链接。
安装后,可以使用下列方法对实例中的所有数据库打开或关闭跨数据库的所有权链接:
如果对该实例关闭了跨数据库所有权链接,则可以对单个数据库进行配置。使用下列方法可以对数据库打开和关闭跨数据库的所有权链接:
有关更多信息,请在运行安装程序时单击“后向兼容性一览表”页上的“帮助”按钮、下载 SQL Server 2000 联机丛书的更新版,或者查看知识库文章 810474。
在 SP3 中引入
跟踪标志 1204 返回参与死锁的锁的类型以及当前受影响的命令。在 SP3 和更高版本中,当启用此跟踪标志时,会将死锁信息自动写入错误日志。
在 SP3 中引入
只有 sysadmin 固定服务器角色的成员可以运行 sp_changedbowner 系统存储过程。
在 SP3 中引入
默认情况下,禁用在 Microsoft Visual Studio® 6.0 及更早版本或 SP3 之前的 SQL Server 查询分析器中调试存储过程的功能。默认情况下还将禁用应用程序调试(在调试客户端应用程序时停止于 SQL Server Transact-SQL 断点处)。要启用调试功能,请运行 sp_sdidebug 并传递参数 legacy_on。要禁用调试功能,请将 legacy_off 传递给此过程。
说明 建议不要在生产用服务器上运行 sp_sdidebug 存储过程。
有关更多信息,请参见 Microsoft 知识库文章 328151。
说明 联机丛书引用了客户端调试组件 sqldbreg.exe。在 SP3 中,该组件文件被重命名为 sqldbreg2.exe。
在 SP3 中引入
应用了 Service Pack 之后,将无法再在参与故障转移群集的数据库引擎实例上禁用命名管道协议。
在 SP3a 中引入
从 SQL Server 2000 SP3a 开始,如果 SQL Server 2000 数据库引擎和 MSDE 2000 实例未被配置为支持网络通信,将停止使用用户数据报协议 (UDP) 端口 1434。配置为支持网络通信的实例将使用 UDP 端口 1434。
对于升级到 SP3a 或更高版本的实例,只要所有服务器 Net-Library(共享内存 Net-Library 除外)都被禁用,它将停止使用 UDP 端口 1434。只要启用任何一个服务器 Net-Library,该实例又将开始使用端口 1434。有关禁用或启用服务器 Net-Library 的更多信息,请参见 SQL Server 2000 联机丛书中的“SQL Server 网络实用工具”主题。
只有将计算机上所有 SQL Server 2000 和 MSDE 2000 实例都升级到了 SP3a 或更高版本并配置为不支持网络通信,该计算机才会停止使用 UDP 端口 1434。
UDP 端口 1434 的打开和关闭与共享内存 Net-Library 的状态无关。共享内存 Net-Library 只供本地连接使用,它不使用网络。共享内存 Net-Library 始终处于活动状态;它不能被启用或禁用。
安装或升级 SQL Server 2000 数据库引擎实例时,不能禁用所有服务器 Net-Library。
在 SP4 中引入
在 SP4 中,网络数据包大小选项的最大值(使用 sp_configure 设置)为 32767。该值略小于以前的最大值 65536 的一半。在升级期间,大于 32767 的现有值将自动调整为 32767。如果脚本尝试使用 sp_configure 设置一个大于 32767 但小于等于 65536 的值,该值也将设置为 32767。将网络数据包大小设置为大于 65536 的值将导致错误。
在 SP4 中引入
SP4 包含对 SQL Server 优化器行为的更改,此更改影响包含具有大的 IN 列表或许多 OR 子句的谓词的查询。更具体的讲,此更改(在 SQL Server 2000 热修复程序 789 中引入)影响包含以下内容的查询(或可以使用包含以下内容的对应表达式重写的查询):
由于该更改,在编译这些类型的语句时 SQL Server 将使用更少的内存,因此避免了内存不足错误。在极少数情况下,如果运行此类查询的系统具有大量内存但并行程度很低,优化器可能会选择性能较差的查询计划。为了覆盖优化器行为的更改,此 Service Pack 中提供了跟踪标志 9060。默认情况下,禁用跟踪标志 9060。如果启用该跟踪标志,热修复程序 789 之前的 SP3 行为将启用。如果启用该跟踪标志时遇到错误 701(系统内存不足),应考虑使用 IN 列表中的值的临时表或表变量重写查询。对于数字范围,应使用 BETWEEN 子句或者大于 (>) 或小于 (<) 运算符。有关使用跟踪标志的信息,请参见 SQL Server 联机丛书中的“跟踪标志”。
在 SP4 中引入
SP4 中支持 Banyan VINES、多协议、AppleTalk 和 NWLink IPX/SPX 网络协议。但是,在 SQL Server 2005 以及更高版本中将不支持这些协议。请做出相应计划。
在 SP4 中引入
如果在 Windows Server 2003 x64 SP1 或更高版本上以 Windows-on-Windows 64 (WOW) 模式运行,则无法用默认的 64 位版本的 Windows 性能监视器来访问用于监视 SQL Server 2000 SP4 实例的 SQL Server 性能计数器。而必须使用 32 位版本的 Windows 性能监视器。32 位版本位于:
%systemdrive%/WINDOWS/SysWOW64/perfmon.exe
在 WOW 模式中,只有当 32 位版本的性能监视器与 SQL Server 2000 SP4 实例运行在同一台计算机上时,才能查看 SQL Server 性能计数器。
该限制不适用于基于 64 位 Itanium 系统的 Windows Server 2003。
本节讨论 SP4 中包含的 SQL Server 2000 复制增强功能。
在 SP1 中引入
在事务复制设置期间,将在订阅数据库中创建插入、删除和更新操作的自定义存储过程。不管 UPDATE 语句会影响多少列,更新自定义存储过程都将更新订阅表中的所有列。任何未更改的列都将重置为更新前已存在的相同值。通常,此操作不会引起问题。但是,如果这些列中的任意一列被编制索引,则重置操作会占用大量资源。
如果您使用事务复制,并且订阅表中有若干个索引,而且只有几个列值因为更新而发生改变,则在订阅服务器应用更改时,维护索引的开销可能会成为限制性能的因素。例如,用于报告用途的订阅数据库可能具有比发布数据库更多的索引。在运行时动态生成 UPDATE 语句可以改善性能。此更新将仅包括已更改的列,从而创建最优的 UPDATE 字符串。
此 Service Pack 包含一个新的能够生成自定义存储过程的存储过程 sp_scriptdynamicupdproc,在运行时,您可以在订阅服务器中使用该自定义存储过程动态生成 UPDATE 语句。但是,在运行时生成动态 UPDATE 语句需要额外的处理。
sp_scriptdynamicupdproc 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.6 SQL Server 2000 联机丛书更新已可用。这是 sp_scriptdynamicupdproc 的英语版参考主题。
在 SP1 中引入
在事务复制中,通常将 UPDATE 语句作为更新进行复制。但是,如果更新改变了唯一索引、聚集索引或用作唯一约束的表达式中的任何列,则在订阅服务器中执行更新时首先执行一个 DELETE 语句,然后执行一个 INSERT 语句。这是因为这种更新可能影响到多行,而且如果更新是逐行进行的,则可能会破坏唯一性。
如果更新操作只影响一行,则不可能出现唯一性冲突。因此,在此 Service Pack 中添加了跟踪标志 8207,以允许将对任何唯一列进行的并且只影响一行的更新作为 UPDATE 语句进行复制。这是针对这样一种应用程序特别进行的优化:在订阅服务器上安装用户定义的 UPDATE 触发器,并且要求这些触发器在更新操作仅影响唯一列中的一行时才触发。
要使用跟踪标志 8207,请从命令提示符处打开该标志 (sqlservr.exe -T8207),或在日志读取器代理程序启动之前,使用 DBCC TRACEON(8207, -1) 在运行时将其打开。
重要 通常,跟踪标志 8207 用于只读事务复制。如果在订阅服务器上可能发生主键 UPDATE,则不要对可更新的订阅使用此跟踪标志。
在 SP1 中引入
在 SQL Server 2000 中,如果发布表中包含一个既非主键又非聚集键的唯一索引,建议不要使用并发快照处理。如果在生成并发快照时修改了聚集键的数据,则为订阅服务器应用并发快照时,可能会出现重复键错误,从而导致复制失败。此 Service Pack 去除了对使用并发快照处理的限制。
在 SP1 中引入
设置 nosync 订阅(即不接收初始快照的订阅)时,必须手动创建 INSERT、UPDATE 和 DELETE 语句的自定义存储过程。通常,在传送初始快照时,会在订阅服务器上创建这些语句。新添加的存储过程 sp_scriptpublicationcustomprocs 可以为发布级的自定义存储过程生成脚本。这一新功能可以使设置 nosync 订阅变得更加容易。
sp_scriptpublicationcustomprocs 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.6 SQL Server 2000 联机丛书更新已可用。这是 sp_scriptpublicationcustomprocs 的英语版参考主题。
在 SP1 中引入
如果在合并复制系统表中有大量元数据,清除元数据将会改善性能。在 SQL Server 2000 SP1 之前,元数据只能通过运行 sp_mergecleanupmetadata 来清除。但是,SQL Server 2000 SP1 及更高版本包含基于保持的元数据清除功能,这意味着可以从下列系统表中自动删除元数据:
说明 如果在发布中启用了 @keep_partition_changes 同步优化选项,则前映像表是存在的。
出现下列情况时,将发生基于保持的元数据清除:
说明 对于 SQL Server 2000 SP1 及更高版本中包括的所有合并代理程序配置文件,将 -MetadataRetentionCleanup 参数设置为 1。如果将服务器升级到 SP1 或更高版本,然后添加合并复制,则合并代理程序配置文件将自动更新以包括此参数。如果将已启用合并复制的服务器升级到 SP1 或更高版本,则合并代理程序配置文件不会自动更新;请通过运行 sp_add_agent_parameter 来更新配置文件(请参见本节后面的 sp_add_agent_parameter 的其他参数)。
重要 发布的默认保持期为 14 天。如果某个项目同时属于多个发布,则可能有几个不同的保持期。此时,将使用最长的保持期来确定清除可能发生的最早时刻。如果在数据库上有多个发布,并且其中有一个发布使用无限的发布保持期 (@retention=0),则不会自动清除该数据库的合并元数据。因此,使用无限发布保持时要格外小心。
系统存储过程 sp_add_agent_parameter 现在有一个 MetadataRetentionCleanup 参数,通过此参数可在合并代理程序配置文件中添加或删除元数据保持清除操作。值为 1 表明配置文件应包括清除;值为 0 表明不应包括清除。例如,要将元数据保持清除添加到配置文件中,请执行下列代码:
- EXEC sp_add_agent_parameter @profile_id=<my_profile_id>,
- @parameter_name='MetadataRetentionCleanup', @parameter_value=1
要在与合并复制有关的数据库中自动进行基于保持的清除,此数据库及合并代理程序必须都位于运行 SQL Server 2000 SP1 或更高版本的服务器上。例如:
在某些服务器上进行自动清除而在其他服务器上不进行自动清除时,最多会引起虚假冲突,而这种冲突极少发生。对于包括 SQL Server 2000 SP1 之前的 SQL Server 版本的拓扑,可以通过在所有未被自动清除的服务器上运行 sp_mergemetadatacleanup 来改善其性能。
基于保持的元数据清除可以防止在其他节点上发生未汇集的和无提示的更改覆盖。然而,下列情况下会发生虚假冲突:
例如,如果元数据在发布服务器上被清除而在订阅服务器上未被清除,并且在发布服务器进行了一次更新,则即使数据似乎已同步,仍会发生冲突。
要防止此冲突,需确保元数据几乎同时在相关节点上被清除。如果将 -MetadataRetentionCleanup 设为 1,则在合并开始之前将自动清除发布服务器和订阅服务器,从而确保节点被同时清除。如果发生冲突,请使用合并复制冲突查看器检查冲突并在必要时更改结果。
如果某个项目属于多个发布或位于某个重新发布方案中,则给定行在发布服务器和订阅服务器上的保持期可能不同。要减少元数据在一侧清除而在另一侧未清除的可能性,建议对不同的发布使用相似的保持期。
说明 如果在系统表中有大量必须清除的元数据,合并处理的运行时间可能会比较长。请定期清除元数据以避免出现此情况。
在 SP1 中引入
从某个备份还原的发布数据库首先应与一个具有全局订阅(即具有分配的优先级值的订阅)的订阅数据库同步,以确保正确的汇集行为。同步可以确保能够重新正确地应用发布数据库中由于还原操作而丢失的更改。
不要将发布数据库与含有匿名订阅的订阅数据库同步。因为匿名订阅没有将更改应用于发布数据库所需的足够元数据,所以这种同步可能会导致数据未汇集。
在规划合并复制的备份和还原操作时,还需考虑下列几个问题:
只有当备份时间不超过订阅服务器所订阅的所有发布的最短保持期时,才从备份中还原订阅数据库。例如,如果订阅服务器订阅了三个保持期分别为 10 天、20 天和 30 天的发布,则用于还原数据库的备份的保持时间不应超过 10 天。
强烈建议您在进行备份前将订阅服务器与发布服务器同步。否则,如果从该备份恢复订阅服务器,系统可能无法正常汇集。虽然备份文件本身也许是新的,但与发布服务器的最近一次同步至今的时间也可能和保持期一样长。例如,假设有一个保持期为 10 天的发布。最近一次同步在 8 天前,现在执行备份。如果 4 天后应用备份,则最近一次同步发生在 12 天之前,已过了保持期。如果订阅服务器在备份之前刚刚同步过,订阅数据库将在保持期之内。
如果需要更改发布的保持期值,可手动重新初始化订阅服务器,以避免数据不汇集。当到达发布保持期时,基于保持的元数据清除功能将从合并系统表中删除过时的元数据。
发布的保持期值用于确定保持期内尚未同步的发布何时到期。如果在清除之后增加了发布的保持期,而某个订阅试图与发布服务器(已删除元数据)合并,则该订阅将不会到期,这是因为保持期值已经增加了。而且,发布服务器没有足够的元数据来下载对订阅服务器所做的更改,从而导致数据不汇集。
在 SP1 中引入
将备份还原到备份创建时所在的服务器或数据库,并且其上运行的服务器版本不变时,可保留复制设置。如果将复制的数据库还原到与备份数据库时不同的 SQL Server 版本,则需考虑下列问题:
在 SP1 中引入
从 SP1 开始,为日志读取器代理添加了一个新的命令提示符参数 -MaxCmdsInTran。对于影响大量命令的事务(通常是大规模更新或删除),分发代理必须等待日志读取器代理将整个事务写入分发数据库之后,才能开始将该事务传播到订阅服务器。这一延迟会阻塞分发代理,并降低这两个代理之间的并行能力。
通过使用 –MaxCmdsInTran,日志读取器代理可以将大的事务分割成较小的事务块,每个事务块所包含的命令数量不超过 -MaxCmdsInTran 输入。因此,在日志读取器代理处理事务的后续块时,分发代理可以开始处理该事务前面的块。
日志读取器代理与分发代理之间并行能力的改善提高了总复制吞吐量。但是,请注意,这些事务块在订阅服务器上是作为单个事务提交的,这破坏了作为 ACID 属性(原子性、一致性、隔离性和持久性)之一的原子性属性。在大多数情况下,这一结果不是问题,但建议进行测试以确保不会引起问题。
请为 -MaxCmdsInTran 参数值指定正整数值(大于或等于 1)。指定值 0 等效于不使用该参数。因为只有当事务非常大时此参数才能改善性能,所以此参数的值通常不应小于 5000。例如:
logread.exe -MaxCmdsInTran 10000.
要使用此参数,发布服务器必须运行 SQL Server 2000 SP1 或更高版本,且必须将日志读取器代理和分发数据库升级至 SP3 或更高版本。否则,将忽略 -MaxCmdsInTran。
在 SP2 中引入(仅适用于事务复制)。
在发布某个表以便进行事务复制后,将无法在该表上创建非唯一聚集索引。在创建该索引之前,首先必须除去任何包含该表的发布。
在 SP2 中引入。
在正常处理过程中,当某些行不属于订阅服务器的分区时,合并复制会向订阅服务器发送 DELETE 命令。这种 DELETE 命令也称为不相干删除。不相干删除不会影响数据的完整性或汇集,但可能导致不必要的网络通信。
要减少不相干删除导致的网络通信,可以在合并复制发布中使用新的快照代理程序参数
-MaxNetworkOptimization。将该参数设为 1 可尽量减少不相干删除,从而最大程度地优化网络性能。
说明 仅当合并复制的同步优化选项设为 true(sp_addmergepublication 的 @keep_partition_changes 参数)时,将此参数设为 1 才有用。
默认值为 0,因为如果存在多级联接筛选器和复杂的子集筛选器,则将该参数设为 1 会导致存储更多的元数据,并导致发布服务器的性能降低。应当认真评估复制拓扑结构,并且只有当不相干删除导致的网络通信量高得无法接受时,才将 -MaxNetworkOptimization 设为 1。
可以通过执行系统过程 sp_add_agent_parameter 将此参数添加到快照代理程序配置文件中,如下所示:
EXEC sp_add_agent_parameter 1, 'MaxNetworkOptimization', 1
在 SP3 中引入
SP3 和更高版本自动创建一个角色供合并复制使用。该新角色的名称形式为 MSmerge-<publication ID>。该角色是在发布服务器上为每个合并复制发布而创建的,并且作为发布访问列表 (PAL) 来控制对发布服务器上合并发布的访问。如果除去了该角色,可以运行 SP3 或更高版本中附带的新存储过程 sp_createmergepalrole 来重建该角色。此存储过程将在发布服务器的发布数据库上执行,以便重建该角色。
sp_createmergepalrole 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.6 SQL Server 2000 联机丛书更新已可用。这是 sp_createmergepalrole 的英语版参考主题。
在 SP3 中引入
如果创建某个订阅的用户不是 sysadmin 固定服务器角色的成员,则必须执行下列任一操作:
说明 远程代理程序激活功能总是要求作业步骤在 sysadmin 固定服务器角色的用户帐户的上下文中运行。
在 SP3 中引入
许多用于实现、管理和监视复制拓扑的存储过程的权限已经更改。这些更改中的大多数都涉及到使运行存储过程所需的权限变得更为严格。有关新权限的更多信息,请查阅 SQL Server 联机丛书更新版中有关复制存储过程的 Transact-SQL 参考文档。有关更新的 SQL Server 联机丛书的更多信息,请参见 1.6 SQL Server 2000 联机丛书更新已可用。
在 SP3 中引入
sp_addmergearticle 和 sp_changemergearticle 中已经同时添加了一个新参数 @published_in_tran_pub。此参数用于指明是否将合并发布中的一个项目同时发布到事务发布中。@published_in_tran_pub 的数据类型为 nvarchar(5),默认值为 FALSE。TRUE 用于指明将某个项目同时发布于事务发布中。
说明 在 sp_changemergearticle 中更改此参数时,必须使快照无效并且必须重新初始化订阅服务器。
在 SP3 中引入
配置发布和分发向导现在包含一个新页:分发服务器密码。如果选择一个或多个发布服务器将此服务器用作远程分发服务器,并且这些发布服务器中有一个或多个需要密码,则必须键入密码。发布服务器和远程分发服务器之间的连接是链接服务器和远程服务器组成的混合网络。此连接使用登录名 distributor_admin。默认情况下,会在远程分发服务器中将服务器配置为非信任的发布服务器,因而需要密码。
说明 如果已下载并安装最新版本的 SQL Server 2000 联机丛书,则在单击该新页的“帮助”按钮时可得到该信息。
在 SP3 中引入
SQL Server 允许您启用现有的订阅(使用 SQL Server 企业管理器 SQL-DMO 和复制存储过程创建),以便与 Windows 同步管理器一起使用。还可以使用 Windows 同步管理器创建新订阅。在您应用该 Service Pack 以后,当 Windows 同步管理器同步订阅时,将提示您输入连接到参与同步的服务器所需的一个或多个密码。
在 SP3 中引入
在某些情况下,在附加或还原发布数据库的过程中,复制可能无法正常工作。包括以下情况:
如果符合上述所有情况,则应在附加或还原的数据库上执行 sp_changedbowner 存储过程。将所有权指定给内置的 sa 管理员登录。这将确保复制功能能够正常运行。
说明 只有 sysadmin 固定服务器角色的成员能够执行 sp_changedbowner。
有关跨数据库所有权链接的更多信息,请参见 5.1.10 跨数据库所有权链接。
在 SP4 中引入
复制 ActiveX(R) 控件(sqlinitx.dll、sqldistx.dll、sqlmergx.dll 和 replerrx.dll)不再指定为“对于脚本是安全的”和“对于初始化是安全的”。控件的安全性和功能行为在 SP3 之后未曾更改;但是,安全性指定已根据安全标准进行了更改。这些更改可能会影响调用网页中的嵌入式复制 ActiveX 控件的应用程序。
在 SP4 中引入
在调用 sp_addmergearticle 时,可以指定新参数 @compensate_for_errors。该参数指定如果在同步期间遇到错误(例如违反约束),是否要进行补偿操作。如果设置为 TRUE(默认值),则同步期间无法在节点上应用的更改将通过补偿操作撤消所有其他节点上的更改。在某些情况下需要此行为,但某些情况下也可能会产生问题;例如,一个因配置不当而出错的订阅服务器可能会撤消在发布服务器和所有其他订阅服务器上的更改。
如果指定值 FALSE,将禁用这些补偿操作;但是,仍会记录错误,后续的合并将继续尝试应用更改。尽管受影响的行中的数据似乎没有汇集,但是,只要您解决了错误,即可应用更改,数据也将汇集。
说明 如果项目的源表已在另一个发布中发布,则两个项目的 @compensate_for_errors 值必须相同。
在 SP4 中引入
在以前的版本中,事务发布中的标识列作为基本数据类型(例如 int)进行复制,而不设置标识属性。此方法适合不允许在订阅服务器上进行插入的应用程序。SQL Server 2000 SP4 为事务发布引入了一个新的架构选项 (0x4),用于将标识列作为一个标识列进行复制。这在许多情况下都适用,包括双向复制以及使用订阅服务器作为备用服务器。在上述情况下,可能会在订阅服务器上进行插入,而插入会使标识列增加。
指定标识列应作为一个标识列复制:
- USE Northwind
- GO
- DBCC CHECKIDENT ('Employees', RESEED, 1000000)
- GO
有关更多信息,请参见 SQL Server 联机丛书中的 DBCC CHECKIDENT。
在 SP4 中引入
对于在 X64 或兼容的处理器上运行的 Windows 2003 SP1 系统,以 Windows-on-Windows 64 模式运行的 SQL Server 2000(32 位)分发服务器实例不能包含非 SQL Server 订阅服务器。尽管 SQL Server 2000 SP4 现在支持以 Windows-on-Windows 64 模式运行,但是用于从分发服务器连接到非 SQL Server 订阅服务器的驱动程序或提供程序不支持此模式。
本节讨论 SP4 中包含的 SQL Server 代理和共享工具的增强功能。
在 SP2 中引入
SQL Server 代理作业历史记录现在会记录运行每个作业步骤的 Windows 帐户。此信息可以帮助管理员诊断与调度作业(包括为复制和数据转换服务 (DTS) 任务定义的调度作业)有关的安全性问题。
在 SP3 中引入
多服务器管理是自动执行跨越多个 SQL Server 实例的管理任务的过程。如果管理两个以上的服务器并且要执行集中式维护任务,请使用多服务器管理。
在 SP3 或更高版本中,SQL Server 代理服务帐户不必一定是 Windows 管理员帐户,除非您需要使用 SQL Server 代理的代理帐户。有关 SQL Server 代理的代理帐户的更多信息,请参见 5.6.3 SQL Server 代理的代理帐户的改进。SQL Server 代理服务帐户必须是 sysadmin 固定服务器角色的成员。
必须具有至少一个主服务器和至少一个目标服务器才能使用多服务器管理。主服务器将作业分发到目标服务器并接收来自目标服务器的事件。主服务器集中存储目标服务器上运行的作业的作业定义副本。目标服务器定期连接到其主服务器以更新它要执行的作业列表。如果存在新作业,目标服务器将下载该作业然后断开与主服务器的连接。目标服务器在完成作业后,会重新连接到主服务器并报告作业状态。
在应用 SP4 之前,必须完成几个步骤以升级 SQL Server 2000 主/目标服务器配置。SP4 引入的更改与 SQL Server 7.0 目标服务器以及未运行 SP3 或更高版本的任何服务器都不兼容。这是在原始 SQL Server 2000 功能基础上的更改。
升级主/目标服务器配置
- --Option A: Windows authentication
- EXEC sp_grantlogin 'DOMAIN/user'
- GO
- USE msdb
- GO
- EXEC sp_adduser 'DOMAIN/user', 'DOMAIN/user', 'TargetServersRole'
- GO
-
- --Option B: SQL Server authentication – see explanation below for
- --details.
- EXEC sp_addlogin <MSXAccount>, <MSXAccountPassword>, 'msdb'
- GO
- USE msdb
- GO
- EXEC sp_adduser <MSXAccount>, <MSXAccount>, 'TargetServersRole'
- GO
其中,<MSXAccount> 代表所选的 SQL 登录名,<MSXAccountPassword> 代表关联的密码。
说明 这些值必须包含在单引号内。
选择 MSX 帐户时可考虑下列选项:
不要指定 SQL Server 代理探测帐户 (<computer_name>_msx_probe_login)。在升级到 SP3 或更高版本的过程中,SQL Server 会删除旧的探测帐户,因为 TSX 服务器不再使用它们。
说明 运行 xp_sqlagent_msx_account 之后,必须在每个服务器上停止并重新启动 SQL 代理。
有关 xp_sqlagent_msx_account 的更多信息,请参见 5.3.3 新的 SQL Server 代理扩展存储过程。
在 SP3 中引入
SP3a 包含一个新的扩展存储过程 xp_sqlagent_msx_account,该存储过程允许您配置一个帐户,以供 SQL Server 代理 TSX 服务器用来从 MSX 服务器下载指令。该帐户也称为 MSX 帐户,即主服务器帐户。
xp_sqlagent_msx_account 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.6 SQL Server 2000 联机丛书更新已可用。这是 xp_sqlagent_msx_account 的英语版参考主题。
在 SP3 中引入
SQL Server 现在会检查以确保代理作业的所有者具有追加或重写每个作业所产生的输出日志文件的权限。存在三种情况:
在所有情况下,均使用 SQL Server 代理凭据写入作业,但 SQL Server 现在将进行测试以确保用户对服务器上所选作业输出日志文件位置具有写权限。错误被记录在作业历史记录中,但如果无法写入日志文件,作业步骤也不会失败。
在 SP3 中引入
在 32 位版本的 SQL Server 2000 中,可以配置 SQL 代理邮件以使用扩展 MAPI 电子邮件配置文件来发送电子邮件警报。可以使用扩展 MAPI 电子邮件应用程序(如 Microsoft Outlook)来创建扩展 MAPI 配置文件。在 64 位版本的 SQL Server 2000 中,SQL 代理邮件只能使用简单 MAPI 配置文件来发送电子邮件警报。不要在 32 位版本的 SQL Server 2000 中使用简单 MAPI 配置文件。
在 SP4 中引入
在 SQL Server 企业管理器中,不能从“设计视图”和“创建视图”获取帮助主题“视图属性”。可以从此 Microsoft 网站获取经过更新的主题。
本节讨论 SP4 中包含的 SQL Sever 2000 连接组件增强功能。
在 SP3 中引入
SQL Server 现在支持 QLogic 虚拟接口构架 (VIA) 系统区域网络 (SAN) 实现。要启用对 QLogic VIA 连接的 SQL Server 支持,客户端计算机和服务器计算机都必须在相应的 Windows system32/drivers/etc 文件夹内名为 Vihosts 的文件中提供 IP 地址解析。
Vihosts 文件的格式应如下所示:
<服务器计算机的 VI IP 地址> <SERVER_COMPUTERNAME>
<客户端计算机的 VI IP 地址> <CLIENT_COMPUTERNAME>
例如:
139.4.130.1 SQLCOMPUTER
139.4.130.2 SQLCLIENT
请使用 QLogic VIA 网卡各自的 IP 地址和实际的计算机名。否则,将无法与命名实例或其他 IP 协议(如 TCP 或命名管道)建立连接。Giganet VIA 连接不一定需要 Vihosts 文件。
说明 您必须在客户端计算机上使用客户端网络实用工具标识正确的 VIA 供应商。请在“供应商”下拉框中选择适当的值。还应在服务器计算机上通过服务器网络实用工具完成相应的操作。
本节讨论 Database Components SP4 所附带的 SQL Server 2000 Meta Data Services 增强功能。
在 SP1 中引入
现在,元数据浏览器以 Unicode 格式导出基于 XML 的元数据。在 SQL Server 2000 SP1 之前,此浏览器导出的是不支持非英语字符的 ANSI 码。用户可能看不到这一功能性的改变。自 SP4 版起,导出的数据总是用 Unicode 表示。您仍可以通过将注册表项 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Repository/Engine/XMLExport 的值设置为 0,以 ANSI 码导出元数据。下表列出了可以为此注册表项设置的值:
有关每个标志的更多信息,请参见 SQL Server 联机丛书中的“IExport::Export 方法”。
在 SP3 中引入
禁用了信息模型中的脚本支持。安装 SP3a 或更高版本之后,当应用程序访问为其定义了脚本的属性或方法时,将收到以下错误:
EREP_SCRIPTS_NOTENABLED
启用脚本支持
如果需要继续执行脚本,可以使用下列过程来创建用于启用脚本支持的注册表设置。
如果以后希望禁用脚本,请将此新注册表项的值设为 0。
重要 出于安全考虑,绝对不要使 sa 登录密码为空。
在 SP3 中引入
SQL Server 在其 msdb 数据库中包含了一组表、存储过程和视图,用于存储由 Meta Data Services 知识库引擎使用的信息。在 SP3 中,添加了一个新的专用角色 RepositoryUser,必须使用该角色才能访问和更新知识库信息。此角色已被授予对上述对象进行创建、读取、更新、删除和执行的权限。public 角色不再具有访问这些对象的权限。
此项更改不仅影响由知识库引擎在以后创建的任何其他对象,还将影响现有的知识库对象。必须将通过 public 角色访问知识库的用户和应用程序添加到 RepositoryUser 角色中。
本节讨论 SP4 中包含的 SQL Server 2000 数据转换服务增强功能。
在 SP2 中引入
现在,将数据导出到文本文件时,对于任何包含字符串类型数据的列,DTS 导入/导出向导将程序包配置为最多可以写入这些列中的 8000 个字符。
在 SP2 中引入
SQL Server 代理会记录运行作业的每个步骤时的安全上下文。在 SP3 或更高版本中,安全上下文出现在“作业历史记录”对话框中。如果从作业中的某个步骤运行 DTS 包,SQL Server 代理将记录运行该程序包的用户帐户。该信息可以帮助管理员诊断当 DTS 包按日程安排在服务器上运行时出现的权限和身份验证问题。
在 SP2 中引入
在 SP2 之前,存储在服务器上的 DTS 包不能使用 SQL Server 代理的代理帐户凭据运行,除非该代理帐户有权访问运行服务器(对于从 xp_cmdshell 运行的作业)或代理(对于代理作业)的帐户的用户 Temp 文件夹。因此,用户经常需要调整 SQL Server 或 SQL 代理启动帐户的 TEMP 环境变量,以使其指向启动帐户和代理帐户都可访问的文件夹,如 C:/Temp。在 SP2 和更高版本中,对 DTS 进行了一些改进,以便在用户 Temp 文件夹不可用时使用系统 Temp 文件夹,从而大大减少了进行这种调整的需要。
在 SP3 中引入
默认情况下,SP3 和更高版本会禁用在 Meta Data Services 中存储 DTS 包的选项。这意味着 Meta Data Services 选项不会显示在“保存 DTS 包”对话框的“位置”下拉列表中。此外,此选项在 DTS 导入/导出向导的“保存、调度和复制包”页上也被禁用。
允许将包保存到 Meta Data Services 中
说明 必须以具有管理员权限的帐户登录才能修改此属性。
当在 Meta Data Service 中存储包的选项被禁用时,可以从 Meta Data Services 中装载现有包,并对其进行编辑,然后使用“保存”选项将其保存到 Meta Data Services 中。但是,无法从“另存为”选项使用 Meta Data Services。例如,不能使用其他名称将包重新保存到 Meta Data Services 中。
以下主题讨论 SP4 中包含的 XML 和 SQLXML 的增强功能。
在 SP3 中引入,在 SP4 中更新
在应用 SP4 时,OPENXML 更新为使用自定义的 XML 分析技术,该技术是为了向后兼容 MSXML 2.6。
在 SP3 之前,OPENXML 使用的 XML 分析器版本允许 XPath 表达式中的谓词跟在用于标识当前上下文节点(在 XPath 语法中,当前上下文节点由句点 .
表示)的特殊字符缩写词后面。这种做法违反了 XPath 语法规范,该规范要求此字符后跟一个位置路径表达式。
对于新的 OPENXML 行为,谓词不能紧跟在当前上下文节点缩写词特殊字符的后面。在升级到 SP3 或更高版本之后,SQLXML 查询(对所批注的映射架构执行的 XPath 查询以及用于转换 SQLXML 查询结果的 XSLT 样式表中的 XPath 查询)存在语法错误的 XPath 表达式将失败。
要防止发生这些失败,请标识并修复所有使用错误语法的表达式。例如,在下面的 xsl:if
元素中,被指定为测试特性值的 XPath 表达式的语法是无效的,原因在于谓词 [@ResourceTypeID='2']
直接跟在用于标识当前上下文节点的特殊字符缩写词的后面。
以下语句在以前不生成错误,但是在安装 SP3 或更高版本之后将失败。
<xsl:if test=".[@ResourceTypeID='2']">
要防止失败,必须按如下所示修改该 XPath 表达式:
<xsl:if test="@ResourceTypeID='2'">
以下信息适用于 SQL Server 2000 虚拟备份设备 API。
在 SP2 中引入
虚拟备份设备 API 允许独立软件供应商将 SQL Server 2000 集成到其产品中。此 API 被设计为能够提供最高可靠性和最优性能。它完全支持 SQL Server 2000 的备份及还原功能,包括完整的热备份和快照备份功能。
在 SP1 及更低版本中,无法一次固定或备份一个以上的数据库。现在,SP2 或更高版本通过 VDC_PrepareToFreeze 命令为在单个快照中固定和捕获多个数据库提供了服务器端支持。
SP4 中的虚拟备份设备接口规范包含有关 VDC_PrepareTo Freeze 命令的更新信息。更新版本的虚拟设备接口头文件 (Vdi.h) 位于 SP4 安装文件夹内的 /Devtools/Include 中。
可以从 Microsoft 下载中心中的 Microsoft SQL Server 下载网站下载更新的规范。
在 SP3 中引入
默认情况下,Microsoft SQL Server 错误报告是被禁用的。可以在安装过程中通过 SQL Server 安装程序或 Analysis Services 安装程序启用错误报告功能,也可以在安装后通过企业管理器中的“服务器属性”对话框或 Analysis Manager 中的“服务器属性”对话框启用错误报告功能。在运行 SQL Server 安装程序时启用错误报告功能,可以使错误报告功能供 SQL Server 数据库引擎和 SQL Server 代理使用。在运行 Analysis Services 安装程序时启用错误报告功能,可以使错误报告功能供 Analysis Services 使用。如果要同时为 SQL Server 和 Analysis Services 启用错误报告功能,则必须在运行 SQL Server 安装程序时为 SQL Server 启用错误报告功能,并且在运行 Analysis Services 安装程序时为 Analysis Services 启用错误报告功能。
如果启用了此功能,当 SQL Server 数据库引擎、SQL Server 代理或 SQL Server Analysis Services 中发生致命错误时,SQL Server 会自动向 Microsoft 发送一个报告。Microsoft 利用错误报告来改进 SQL Server 的功能,并且对所有信息保密。
有关错误的信息将通过安全 (HTTPS) 连接发送并保存到 Microsoft,并且 Microsoft 会限制对这些信息的访问。另外,您也可以将这些信息发送到您自己的“公司错误报告”服务器。有关设置“公司错误报告”服务器的更多信息,请访问此 Microsoft 网站。
错误报告包含下列信息:
Microsoft 无意收集您的文件、姓名、地址、电子邮件地址或任何其他私人信息。但是,错误报告可能包含来自出错进程的内存或文件的客户特定信息。虽然使用这些信息有可能可以确定您的身份,但 Microsoft 不会将这些信息用于此目的。
有关 Microsoft 错误报告数据收集策略的信息,请访问此 Microsoft 网站。
如果启用了错误报告功能并出现致命错误,Windows 事件日志中可能会包含来自 Microsoft 的一条响应,该响应指向与特定错误有关的 Microsoft 知识库文章。响应可能类似于以下示例:
- Source = MSSQLServerOlapServicesDW
- EventID = 1010
- data = http://support.microsoft.com/support/misc/kblookup.asp?id=Q123456
- &iBucketTable=1&iBucket=39980&Cab=21474432.cab&LCID=1033
- &OS=5.1.2600.2.00010100.0.0
要禁止 SQL Server 数据库引擎和 SQL Server 代理使用错误报告功能,请转至企业管理器中的“SQL Server 属性”对话框,清除“常规”选项卡中的“启用错误报告功能”复选框。要禁止 Analysis Services 使用错误报告功能,请转至 Analysis Services 中的“服务器属性”对话框,并清除“启用错误报告功能”复选框。如果同时为 SQL Server(数据库引擎和 SQL Server 代理)和 Analysis Services 启用了错误报告功能,要使两者都不能使用错误报告功能,则必须分别在上述两处关闭错误报告功能。
在 SP4 中引入
SQL Server 2000 SP4 引入了新的可维护性功能,使您可以卸载在 Windows XP 和 Windows Server 2003 上运行的 SQL Server 2000 SP4 以及更高版本所应用的热修复程序。(SQL Server 2000 SP3 也提供了此功能,但是只有在应用了附加的热修复程序之后才可用。)
在 SP1 中引入
Microsoft 已经发布了针对 English Query 应用程序的安全增强功能。该增强功能不作为 Service Pack 的一部分安装。但是,如果使用 English Query,则建议您应用它。该安全增强功能位于 SP4 CD-ROM 上的 /EQHotfix 文件夹中。有关 English Query 增强功能的详细信息,请参见知识库文章 297105。
在 SP1 中引入,在 SP4 中更新
虽然 SQL Server 2000 仍然支持用于 C 语言应用程序接口 (API) 的 DB-Library 和嵌入式 SQL,但是以后的 SQL Server 版本将不再包含编写使用这些 API 的应用程序所需的文件或文档。SQL Server 的下一个版本仍然支持来自使用用于 C 语言的 DB-Library 和嵌入式 SQL 编写的现有应用程序的连接,但在此之后的版本中将不再提供这种支持。在编写新的应用程序时不要使用 DB-Library 或嵌入式 SQL。修改现有应用程序时消除对这些技术的依赖性。使用 .NET Framework 中的 System.Data.SQLClient 命名空间或者 ADO、OLE DB 或 ODBC 等 API 访问 SQL Server 中的数据,代替用于 C 语言的 DB-Library 或嵌入式 SQL。有关这些技术的更多信息,请参见 SQL Server 联机丛书或 .NET Framework SDK。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。