follow my heart...
分类: 数据库开发技术
2006-07-26 14:35:49
1.0
1.1
1.2
1.4
1.5
1.7
2.0
2.1
2.2
2.3
2.4
3.0
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
4.0
4.1
4.2
5.0 文档说明
5.1
5.2
5.3
5.4
5.5
5.6
5.7
本自述文件描述如何使用 Microsoft® SQL Server™ 2000 Service Pack 4 (SP4) 的 SQL Server Desktop Engine (MSDE) 部分。使用 Desktop Engine SP4,可以将现有的 MSDE 实例升级到 MSDE 2000 SP4,也可以安装新的 MSDE 2000 SP4 实例。
安装 SQL Server SP4 的一般过程如下:
说明 除非特别指定,否则,本自述文件中对 SQL Server 2000 Desktop Engine 的所有引用均是指 MSDE 2000 Release A。MSDE 2000 Release A 下载版的功能与 SQL Server 2000 Desktop Engine SP3a 相当,但是包括新的最终用户许可协议 (EULA),赋予了用户不同于以前的 MSDE 2000 许可证所赋予的权利。
SQL Server 2000 SP4 包含四个部分。使用每个部分可以将 SP4 应用于不同的 SQL Server 组件:
所有 SQL Server Service Pack 都是累积的。SQL Server SP4 包含 SP1、SP2、SP3 和 SP3a 中提供的修复程序。
MSDE 2000 SP4 只能用于 SQL Server 2000 Desktop Engine 或 MSDE 2000 Release A 的实例。SQL Server 2000 SP4 的其他部分将 SP4 应用于其他 SQL Server 2000 组件,例如 Analysis Services 或数据库引擎。使用 Database Components SP4 和 Analysis Services SP4 的方式都有各自的自述文件进行描述。其他自述文件可以从此 获得。
MSDE 2000 的此 Service Pack 针对创建使用 MSDE 的可再分发应用程序的开发人员。MSDE 2000 SP4 可以用于执行下列操作:
有关 MSDE 2000 许可的更多信息,请参见。如果尚未获得安装或运行 MSDE 2000 的许可证,可以通过在 上注册来获得。
要安装 MSDE 2000 SP4,请查阅本自述文件第 1 节和第 2 节中的资料,然后按照第 3 节中的说明操作,前提是符合下列条件:
本自述文件的下列各节包含的示例是将现有的 MSDE 实例升级到 MSDE 2000 SP4 或安装新的 MSDE 2000 实例的最常见方案:
在尝试运行 MSDE 2000 SP4 安装程序之前,您的计算机必须满足下列硬件和软件要求。
下表列出了安装并运行 MSDE 2000 的硬件要求。
硬件 | 最低要求 |
计算机 | Intel Pentium 或兼容机,166 MHz 或更高 |
内存 (RAM) | Microsoft Windows XP 和 Windows 2003 Server 要求 128 MB
Windows 2000 要求最低 64 MB |
硬盘空间 | Microsoft Windows XP 和 Windows 2003 Server 要求 75 MB
Windows 2000 要求 100 MB |
驱动器 | CD-ROM 驱动器(如果是从 CD-ROM 安装 MSDE 2000 SP4) |
MSDE 2000 没有硬件兼容性列表 (HCL)。如果计算机满足上表所列的最低要求,MSDE 2000 软件即可在经鉴定能够随 Windows 操作系统使用的硬件上运行。有关经鉴定能够随 Windows 操作系统使用的硬件的更多信息,请参见此 上的 Windows 硬件兼容性列表。
要使用 MSDE 2000,必须已安装下列操作系统之一:
重要 Windows NT 4.0、Windows Millennium Edition 和 Windows 98 平台上不支持 SQL Server 2000 SP4。SQL Server 2000 SP4 最终发布之后的 12 个月内,Windows NT 4.0、Windows Millennium Edition 和 Windows 98 平台上安装的 SQL Server 2000 SP3a 可以继续得到关键热修复程序的支持。
如果要运行 MSDE 2000 安装程序,必须启用文件和打印机共享。
确认文件和打印机共享已启用
如果下列任一安全策略已被设置为“禁止安装”,则 MSDE 2000 SP4 的安装将失败:
如果使用“禁止安装”设置,则必须在安装 MSDE 2000 SP4 之前将该设置更改为“默认继续”。如有必要,可以在安装完成之后将该策略还原为以前的设置。
说明 “禁止安装”不是这些安全策略的默认设置。
设置安全策略
如果使用的是 Microsoft Windows Installer 2.0.2600.0 或更高版本,则只能从 CD-ROM 安装 MSDE 2000 SP4 的升级文件。如果需要升级 Windows 安装程序,MSDE 2000 SP4 应包含必要的文件。
升级 Windows 安装程序
如果某个应用程序正在使用您的 MSDE 实例,在升级到 MSDE 2000 SP4 之前,应询问应用程序提供商是否所有 MSDE 升级注意事项都适用于该应用程序。
本节描述在使用 MSDE 2000 SP4 将现有的 MSDE 实例升级到 MSDE 2000 SP4 之前,必须解决的问题以及必须执行的任务。
在 Database Components SP4 实例上创建的数据库或数据库备份可以在早期版本的 SQL Server 2000 上附加或还原。但是,对复制拓扑中的数据库有一些限制。有关更多信息,请参见 1.2.3 。
将 MSDE 2000 SP4 应用于现有的 MSDE 2000 实例的过程因安装实例的方式而异。大多数应用程序通过下列方式之一安装 MSDE 2000:
说明 新应用程序的安装实用工具必须编写为调用 MSDE 2000 安装实用工具,而不是直接使用 MSDE 2000 合并模块。MSDE 2000 SP4 包含合并模块。但是,只有应用程序供应商才可以使用这些合并模块,这些供应商必须为最初通过直接利用合并模块的实用工具安装的 MSDE 实例构建修补程序文件。
如果计算机上有多个 MSDE 2000 实例,则必须逐个评估每个实例,以便确定是否可以应用 MSDE 2000 SP4。还必须对每个实例分别应用 SP4。
说明 Microsoft 不支持在一台计算机上配置 16 个以上的 SQL Server 数据库引擎实例。包括以下实例:SQL Server 6.5、SQL Server 7.0、SQL Server 2000、MSDE 1.0 和 MSDE 2000。
Microsoft 知识库文章 包含确定 MSDE 2000 实例安装方式的说明。按照文章 311762 中的过程进行操作之后,应注意以下事项:
可以从硬盘、网络共享位置或 CD-ROM 运行 MSDE 2000 SP4 安装程序。如果从硬盘运行安装程序,则不必使用原始 MSDE 2000 安装文件。但是如果从网络共享位置或 CD 将 MSDE 2000 实例升级到 MSDE 2000 SP4,则最初用于安装 MSDE 2000 的文件必须在原始安装时文件所处的位置。如果最初是从 CD 进行的安装,则 MSDE 2000 SP4 安装程序在升级过程中将要求插入原始 CD。如果原始文件不在原始的网络共享位置,或者原始 CD-ROM 不可用,则必须将 MSDE 2000 SP4 文件复制到硬盘驱动器中,然后从硬盘驱动器中运行安装程序。
MSDE 2000 SP4 安装程序升级作为复制拓扑成员的用户数据库。此升级因素可能会影响复制的用户数据库的备份和还原功能。在安装 MSDE 2000 SP4 之前,确保复制数据库和文件组是可写的。
有关将 SP4 应用于复制拓扑中的数据库的更多信息,请参见 3.4 。复制的其他备份和还原注意事项在 5.2.4 中详细描述。
说明 如果 MSDE 2000 实例不是复制拓扑的一部分,则可以在任何其他版本的 SQL Server 2000 或 MSDE 2000 上备份用户数据库并进行还原。
如果安装程序检测出用户数据库或文件组不可写,将执行以下操作:
Setup has detected one or more databases and filegroups which are not writable.
除非安装程序日志中列出的某些数据库是复制拓扑的成员,否则可以忽略此警告。如果安装程序日志中列出的只读数据库是复制拓扑的成员,则必须使这些数据库可写并将 SP4 重新应用于该 MSDE 2000 实例。
有关使数据库可写的信息,请参见 3.5 。有关重新应用 SP4 的更多信息,请参见 3.8 。
在使用 MSDE 2000 SP4 升级现有的 MSDE 实例之前,建议您计划一下如何在以后需要时将实例还原到先前状态。安装 MSDE 2000 SP4 时,会为了进行维护而更改系统表。还会升级作为复制拓扑成员的用户数据库和分发数据库。由于这些更改的性质,无法轻易删除 MSDE 2000 SP4。要还原为安装 MSDE 2000 SP4 前所运行的版本,必须先卸载 MSDE 2000 实例,然后重新安装该实例。接下来,如果运行过以前的 SQL Server 2000 Service Pack 或应用过任何热修复程序,必须将相应的 Service Pack 和热修复程序重新应用于所还原的实例。
重要 要将系统安全地还原到安装 MSDE 2000 SP4 之前的状态,必须立即备份 master、model 和 msdb 数据库,然后再安装 MSDE 2000 SP4。有关更多信息,请参见 3.1.1 。
有关更多信息,请参见 3.7 。
在 SP3a 中更改了 MSDE 2000 安装程序的行为,以使默认设置的配置更安全。这些更改在 SP4 中继续生效,如下所述:
默认情况下,在安装新的 MSDE 2000 实例时,SP4 禁用网络支持。升级现有实例时,将保留其网络支持设置。如果另一台计算机上没有任何应用程序连接到您的 MSDE 2000 实例,则实例不需要网络支持。最好关闭不使用的资源。如果将 DISABLENETWORKPROTOCOLS 安装参数的值指定为 0,则可以在安装过程中启用网络支持。如果安装 MSDE 2000 SP4 实例时启用了网络支持功能,稍后可以重新配置此实例来禁用网络支持。有关如何禁用和还原网络访问的更多信息,请参见 Microsoft 知识库文章 。
如果不指定强 sa 密码,MSDE 2000 SP4 安装程序不会安装新的 MSDE 2000 实例。可以使用 SAPWD 参数指定强 sa 密码。如果不为 sa 登录指定一个强密码,MSDE 2000 SP4 安装程序不会升级现有的 MSDE 2000 实例。除非使用 MSDE 实例的应用程序在某些方面依赖空的 sa 密码,否则,即使是升级现有的实例,也必须为 sa 登录指定一个强密码。即使 MSDE 2000 实例使用的是 Windows 身份验证,sa 登录也会在实例切换到混合模式身份验证时立即被激活。空、空白、简单或者众所周知的 sa 密码可能很容易被利用来进行未经授权的访问。如果在将 MSDE 2000 实例升级到 MSDE 2000 SP4 之前需要指定一个强 sa 密码,请参见 Microsoft 知识库文章 。
为了提高安全性,只要有可能,请对 MSDE 2000 安装使用 Windows 身份验证。如果下列两个条件都为真,可以考虑从混合模式身份验证切换到 Windows 身份验证:
有关将 MSDE 2000 实例从混合模式身份验证更改为 Windows 身份验证的更多信息,请参见 Microsoft 知识库文章 。
如果要在一台计算机上安装 MSDE 2000 和 SQL Server 2000 数据库引擎的多个副本(即实例),必须知道实例名称。一台计算机上最多可以安装 16 个实例。其中一个实例没有名称,被称为默认实例。其他 15 个实例必须具有唯一的实例名称,被称为命名实例。
使用 MSDE SP4 安装程序安装或升级 MSDE 实例。如果要安装或升级 MSDE 的命名实例,必须使用 INSTANCENAME 参数来指定实例名称。如果不指定 INSTANCENAME,安装程序将对该计算机上默认的 MSDE 实例操作。不能使用 MSDE 2000 SP4 升级 SQL Server 2000 数据库引擎实例。
查找计算机上的现有实例:
默认实例将作为名为 MSSQLSERVER 的一项服务出现在右侧列表窗格中。命名实例将作为 MSSQL$InstanceName 服务列出,其中 InstanceName 是实例的名称。
实例名称必须遵循此 中包含的规则。
MSDE 2000 SP4 安装程序确定是否要将已安装的 Microsoft 数据访问组件 (MDAC) 版本升级为 MDAC 2.8 SP1:
说明 如果安装了 MSDE 2000 SP4 的计算机升级到更新的操作系统平台,则 SP4 安装的 MDAC 版本将不再存在。
说明 有关确定计算机上 MDAC 版本的说明,请参见知识库文章 。
MSDE 2000 SP4 安装 MDAC 2.8 SP1 时,MDAC 的语言版本与 MSDE 2000 SP4 的语言版本相同。如果要保留与 MSDE 2000 SP4 不同的 MDAC 语言版本,则必须下载并安装相应的 MDAC 2.8 SP1 语言版本,然后再运行 MSDE 2000 SP4 安装程序。可以从 下载 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,必须从此 下载并安装。有关 MDAC 2.8 SP1 的更多信息,请参见 。有关 MDAC 版本的更多信息,请参见知识库文章 。知识库文章 中介绍了 MDAC 2.8 SP1 中包含的修复程序。
MSDE 2000 支持的所有 Windows 版本包括与 MSDE 2000 SP4 配合使用的 MDAC 软件的版本。如果将 MSDE 2000 实例配置为支持网络通信并充当数据库服务器,那么不需要在任何 Windows 计算机上安装客户端软件,即可使应用程序从该计算机连接到 MSDE 2000 实例。有关网络通信的更多信息,请参见此 。
说明 预发行版的 SQL Server 2000 SP4 安装预发行版的 MSXML 3.0 SP7。如果已安装了预发行版的 SQL Server 2000 SP4,建议您从此 下载并安装 MSXML 3.0 SP7 最终发布版。
在运行安装程序之前,应先确定要升级的 MSDE 2000 实例的版本。如果 MSDE 2000 的版本已达到或高于 SP4,则不需要安装 SP4。
确定所安装的 MSDE 2000 版本:
SELECT SERVERPROPERTY('ProductLevel')
SELECT @@VERSION
SELECT SERVERPROPERTY('ProductVersion')
SQL Server 2000 版本和级别 | @@VERSION | 产品级别 |
SQL Server 2000 原始版本 | 8.00.194 | RTM |
Desktop Engine SP1 | 8.00.384 | SP1 |
Desktop Engine SP2 | 8.00.534 | SP2 |
Desktop Engine SP3、SP3a 或 MSDE 2000 Release A | 8.00.760 | SP3 |
MSDE 2000 SP4 | 8.00.2039 | SP4 |
说明 如果在安装产品之后或安装以前的 Service Pack 之后应用了热修复程序,您的产品版本与上述值可能会有所不同。例如,在对 MSDE 2000 Release A 应用了安全修复程序 MS03-031 之后,@@VERSION
返回值 8.00.818。
SELECT SERVERPROPERTY('Edition')
如果返回值 Desktop Engine,表示实例为 MSDE 2000。
该 Service Pack 中包含的修复程序列表列在 Microsoft 知识库文章 中。 中列出的每个修复程序都包含一个链接,指向有关特定修复程序所解决问题的知识库文章。使用指向各个知识库文章的链接可以了解各个修复程序的信息。
对于未能及时包含在本自述文件中、与 SQL Server 2000 Service Pack 4 相关的信息,将发布在 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.7 。
SQL Server 2000 SP4 包含了对 MSDE 2000 的更改,可以解决 Slammer 蠕虫造成的问题:
对于已升级或计划将 SQL Server 2000 数据库和发布服务器升级到 SP4 的 Microsoft SQL Server 2000 Windows® CE Edition (SQL Server CE) and SQL Server 2005 Mobile Edition (SQL Mobile) 用户,还必须更新安装了 Microsoft Internet 信息服务 (IIS) 服务器上的服务器复制组件。对于 和 ,更新的服务器工具安装程序已可用。
说明 即使在升级到 SQL Server 2000 SP3 或 SP3a 之后更新了服务器复制组件,仍必须安装最新的 SP4 特定服务器工具组件更新。
SQL Server 2000 SP4 消除了 OPENXML 对操作系统安装的 MSXML 版本的依赖性。MSDE 2000 SP4 安装内部版本的 MSXML 技术,可以向后兼容 MSXML 2.6。
SQL Server 2000 联机丛书是 MSDE 2000 的主要用户文档。联机丛书会使用修复程序和新的信息定期更新。在 2004 年 1 月,联机丛书进行了更新,包括了有关 MSDE 2000 的更多信息。强烈建议您下载并安装最新版本的联机丛书,原因如下:
当前版本的联机丛书位于下列位置:
可以从此 获 取针对 SQL Server 2000 SP3 和 SP3a 更新过的 SQL Server 2000 数据库引擎示例。 引用了 MSDE 2000 中所包括的 SQL Server 2000 组件的所有示例同样适用于 MSDE 2000,但 MSDE 2000 中不支持的功能除外。包括的功能有数据库引擎、数据库客户端连接组件和程序设计 API、复制以及数据转换服务 (DTS)。
在准备下载并解压缩 SQL Server 2000 SP4 之前,请先阅读本节后面的“下载和解压缩阶段准则”。SQL Server 2000 SP4 通过下列方式分发:
如果有 SQL Server 2000 SP4 光盘,可以直接通过该光盘,使用自解压缩文件 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 将 MSDE 2000 实例升级到 MSDE 2000 SP4。
说明 LLL 代表因语言而异的指示符。
从下载网站或 SP4 光盘获取了 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 之后,可以运行该文件,将 MSDE 2000 SP4 文件解压缩到计算机上。SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 会在硬盘上创建一组文件夹和文件,可以用于安装 MSDE 2000 SP4。
SQL Server 2000 Desktop Engine Service Pack 是针对各种语言提供的。要升级 MSDE 2000 实例,必须获取与实例语言相同的 Service Pack。Service Pack 可以在 SQL Server 2000 SP4 光盘上获取,也可以通过下载 MSDE 2000 SP4 文件获取。例如,如果升级日语版的 MSDE 2000 实例,必须获取日语版的 MSDE 2000 SP4。
说明 因为葡萄牙语(巴西)、瑞典语和荷兰语版本的 SQL Server 2000 只包含 SQL Server 2000 Desktop Engine,所以为这些语言提供的 Service Pack 中只包含 MSDE 2000 SP4。对于这些语言,不能通过 Database Components SP4 或 Analysis Services SP4 升级 SQL Server 2000 组件。
如果无法确定 MSDE 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 | 朝鲜语 |
0x00000413 | 1043 | 荷兰语 |
0x00000416 | 1046 | 葡萄牙语(巴西) |
0x0000041d | 1053 | 瑞典语 |
0x00000804 | 2052 | 简体中文 |
如果 MSDE 2000 实例是使用 MSDE 安装实用工具安装的,则可以使用 SQL Server 2000 SP4 下载文件升级 MSDE 2000 实例。安装实用工具的原始包名称为 SqlRun01.msi 到 SqlRun16.msi。
下载 MSDE 2000 SP4:
必须先从 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 解压缩安装文件,然后才可以安装 MSDE 2000 SP4。可以直接从 SP4 光盘执行 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe,也可以从将该文件下载到的文件夹或将该文件从光盘复制到的文件夹执行该文件。
解压缩 MSDE 2000 SP4 文件:
在从 Internet 下载并解压缩 MSDE 2000 SP4 安装文件时,请遵循下列准则:
说明 如果将 Service Pack 解压缩到网络共享目录中,指定的文件夹路径是运行 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 的文件夹的相对路径。
要安装 MSDE 2000 SP4,请遵循以下各节中的安装说明。在安装 MSDE 2000 SP4 之前,请查阅 1.0 中的资料。MSDE 2000 SP4 的安装阶段如下:
MSDE 2000 SP4 包含安装或升级 SQL Server 2000 Desktop Engine 实例所需的一整套文件。如果具有安装或升级 MSDE 2000 实例的许可证,您可以使用 MSDE 2000 SP4 中的文件执行所有 MSDE 2000 安装操作。有关 MSDE 2000 许可的更多信息,请参见此 。
如果需要有关运行安装程序的更多信息,请参见主要文档源 SQL Server 2000 联机丛书。有关安装最新版本的 SQL Server 2000 联机丛书或访问 MSDN Library 中的联机副本的更多信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。
以下是指向 MSDN Library 的联机丛书副本中安装程序可执行文件参考主题的链接:(自定义 Desktop Engine Setup.exe)。
在最新版本的 SQL Server 2000 联机丛书中,“Customizing Desktop Engine Setup.exe”(自定义 Desktop Engine Setup.exe)介绍了 Desktop Engine SP3a 和 MSDE 2000 Release A 中包含的安装程序可执行文件版本的功能。文档中有关 Desktop Engine 安装程序 SP4 版本的内容也是最新的,SAVESYSDB 参数除外,该参数在 SP4 中引入。有关更多信息,请参见 5.6.1 。
说明 在 SQL Server 2000 SP3 之前的 MSDE 安装程序版本中,用户必须指定用于安装或升级 MSDE 2000 实例的 .msi 安装包文件。在 SP3 以及更高版本的安装程序中,由安装程序管理 .msi 文件,不需要用户在升级或新安装中指定 .msi 文件。
在安装 MSDE 2000 SP4 之前,必须执行下列操作:
在安装 MSDE 2000 SP4 之前,需要备份 master、msdb 和 model 数据库。安装 MSDE 2000 SP4 时将修改 master、msdb 和 model 数据库,会使其与 SP4 之前的 MSDE 2000 版本不兼容。如果决定重新安装没有 SP4 的 MSDE 2000,必须备份这些数据库。
尽管 SP4 只对作为复制拓扑成员的用户数据库执行更新,但是备份用户数据库仍不失为明智之举。
现有备份方案考虑到了复制,因此,在升级到 SP4 之后,可以在出现故障后将数据库还原到某个已知点。建议在应用 SP4 之后,为复制拓扑中包含的所有用户数据库创建日志备份或完整的数据库备份。如果执行了上述数据库备份,之后某个复制数据库出现故障,则还原数据库以后不必 重新应用 SP4。
如果没有为 master 和 msdb 数据库选择“自动增长”选项,那么数据库必须至少有 500 KB 的可用空间。要确认 master 数据库或 msdb 数据库是否具有这么多空间,请分别对它们运行 sp_spaceused 系统存储过程。如果任一数据库中未分配的空间少于 500 KB,则应增加相应数据库的大小。有关更多信息,请参见 SQL Server 2000 联机丛书中的“扩充数据库”。
如果为 master 和 msdb 数据库选择了“自动增长”选项,并且驱动器上有足够的空间,可以跳过上述空间确认步骤。
要确认是否已在 MSDE 2000 中选中了“自动增长”选项,请使用 osql 命令提示符实用工具执行下列 SQL 语句:
sp_helpdb master
sp_helpdb msdb
在这些语句的输出结果中,确认增长列的值不为 0。
在安装 MSDE 2000 SP4 之前,应停止所有应用程序和服务,包括“控制面板”、“添加和删除程序”、“SQL Server 2000 Reporting Services”、“SQL Server 2000 Notification Services”以及所有连接到所升级的 MSDE 实例的应用程序。
可以在不事先关闭服务的情况下应用 MSDE 2000 SP4,但事后如果不重新启动系统,那么有些服务将无法重新启动。如果不关闭服务,安装程序完成时将提示您重新启动计算机。如果不重新启动系统,下列服务可能会无法启动:
您可以降低安装 MSDE 2000 SP4 之后需要重新启动计算机的可能性。为降低这种可能性,在运行安装程序之前,应停止上表中的服务和应用程序。
本节包括运行 MSDE 2000 SP4 安装实用工具的一般准则。之后,本节还提供最常见 MSDE 2000 SP4 方案的示例:
要安装 MSDE 2000 SP4,请从下列任一位置运行 Setup.exe:
这将启动安装过程。
MSDE 2000 SP4 中包含的安装程序可执行文件是 MSDE 2000 的 Desktop Engine 安装程序的 SP4 版本。除了 SAVESYSDB 参数之外,MSDE 2000 SP4 安装程序的操作均在最新版本的 SQL Server 2000 联机丛书中有所描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。以下是描述 Setup.exe 行为的英语版参考主题:(自定义 Desktop Engine Setup.exe)。
MSDE 2000 SP4 被设计为可以随应用程序一起分发并通过应用程序安装程序来安装。MSDE 2000 没有交互式安装程序。MSDE 2000 的安装机制被设计为由应用程序的安装实用工具来调用。应用程序安装程序处理所有与最终用户的必需交互。MSDE 2000 有两种安装机制:
重要 一定要通过运行 Setup.exe 来安装或升级 MSDE 实例。不要试图通过 .msi 文件间接启动安装程序;例如,不要双击某个 MSDE 2000 .msi 文件。
必须通过从命令提示符运行 Setup.exe 来安装或升级任意 MSDE 实例。用户可通过指定参数来控制 MSDE 2000 安装程序的行为。安装参数可通过下列两种方式指定:
如果指定的 MSDE 安装参数值中包含特殊字符(如空格),则必须将该值放在引号中。如果没有特殊字符,则引号是可选的。
第 3.2.2、3.2.3 和 3.2.4 节提供了最常见的 MSDE 2000 SP4 安装方案使用的参数示例。可以为安装程序指定的参数在最新版本的 SQL Server 2000 联机丛书中有所描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。以下是描述 Setup.exe 行为的英语版参考主题:(自定义 Desktop Engine Setup.exe)。
说明 如果使用终端服务连接尝试将现有的 MSDE 实例升级到 MSDE 2000 SP4,或者安装新的 MSDE 2000 SP4 实例,可能会出现问题。如果遇到问题,请从本地计算机重新启动安装程序。
可以在 .ini 文件中指定 MSDE 2000 Setup.exe 参数,.ini 文件的位置由 /settings 开关指定。.ini 文件是一个文本文件,如使用记事本创建并使用扩展名 .ini 保存的文件。.ini 文件中的第一行是 [Options]。您可以在后面指定参数,每行指定一个参数。
安全说明 如果安装时使用 .ini 文件,请不要将安全凭据存储在该文件中。
下例说明了如何在命令提示符处指定参数:
setup SAPWD="AStrongPassword" INSTANCENAME="InstanceName"
TARGETDIR="C:\MyInstanceFolder"
要使用 .ini 文件中的相同参数运行安装程序,请使用记事本创建一个名为 MyParameters.ini
的文件,其内容如下:
[Options]
INSTANCENAME="InstanceName"
TARGETDIR="C:\MyInstanceFolder"
然后在运行安装程序时,使用 /settings 开关指向该 .ini 文件:
setup /settings "MyParameters.ini" SAPWD="AStrongPassword"
使用详细日志来验证 N 安装是否成功,或者帮助解决出现的问题。
要生成详细日志,请指定 /L*v <LogFileName>,其中 <LogFileName> 是安装程序用于记录所有操作的日志文件的名称。如果指定名称时没有包含路径,将在当前文件夹中创建日志文件。如果是从 CD-ROM 执行安装程序,则必须指定指向硬盘上某个文件夹的完整路径。
下例将在 C: 驱动器的根文件夹中创建一个名为 MSDELog.log 的日志文件:
setup SAPWD="AStrongSAPassword" /L*v C:\MSDELog.log
如果安装成功,在日志末尾将显示如下所示的条目:
=== Logging stopped: 5/16/03 0:06:10 ===
MSI (s) (BC:7C): Product: Microsoft SQL Server Desktop Engine
-- Installation operation completed successfully.
如果安装失败,在日志末尾将显示如下所示的条目:
=== Logging stopped: 5/15/03 23:50:34 ===
MSI (c) (6A:CE): Product: Microsoft SQL Server Desktop Engine
-- Installation operation failed.
如果安装失败,请在错误日志中搜索字符串“value 3"
。该字符串的后 10 行是有关自定义操作的故障通知。该通知中包含有关故障性质的附加信息。
本节中的示例描述如何将现有的 MSDE 2000 实例升级到 MSDE 2000 SP4 以及如何对该 MSDE 2000 实例禁用网络连接。如果该实例必须接受其他计算机上运行的应用程序所请求的连接,请不要指定 DISABLENETWORKPROTOCOLS 参数。
本节中的示例假定 sa 登录有一个强密码。有关 sa 登录密码的更多信息,请参见 1.3 MSDE 2000 SP4 的安全注意事项。
将现有的 MSDE 2000 实例升级到 MSDE 2000 SP4
cd c:\MSDESP4Folder\MSDE
其中 c:\MSDESP4Folder 是一个路径,它指向将 MSDE 2000 SP4 文件解压缩到的文件夹或者 SQL Server 2000 SP4 光盘上的 MSDE 2000 SP4 文件夹。
setup /upgradesp sqlrun /L*v C:\MSDELog.log
setup /upgradesp sqlrun DISABLENETWORKPROTOCOLS=0 /L*v C:\MSDELog.log
setup /upgradesp sqlrun INSTANCENAME=InstanceName /L*v C:\MSDELog.log
setup /upgradesp sqlrun SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin
UPGRADEPWD=AdminPassword /L*v C:\MSDELog.log
setup /upgradesp sqlrun INSTANCENAME= InstanceName SECURITYMODE=SQL
UPGRADEUSER=AnAdminLogin UPGRADEPWD=AdminPassword /L*v C:\MSDELog.log
为了便于阅读,在这些示例中加入了换行符。执行的命令不能包括换行符。
说明 如果所升级的 MSDE 2000 实例是以前使用早期的 SQL Server 2000 Service Pack 从 MSDE 1.0 升级而来的,必须还要在安装命令中追加 UPGRADE=1
。
安全说明 如果安装时使用 .ini 文件,请不要将凭据存储在该 .ini 文件中。
本节中的示例描述如何安装已配置为禁用网络连接(默认行为)的新 MSDE 2000 SP4 实例。如果该实例必须接受在其他计算机上运行的应用程序请求的连接,必须还要指定 DISABLENETWORKPROTOCOLS=0
。
以下示例使用所有配置项(如排序规则和文件位置)的默认设置安装实例。这些配置可以由安装参数(如 COLLATION、DATADIR 和 TARGETDIR)来控制。有关在安装时可以指定的配置参数的更多信息,请参见 (自定义 Desktop Engine Setup.exe)。
安装新的 Desktop Engine 实例
cd c:\MSDESP4Folder\MSDE
其中 c:\MSDESP4Folder 是一个路径,它指向将 MSDE 2000 SP4 文件解压缩到的文件夹或者 SQL Server 2000 SP4 光盘上的 MSDE 2000 SP4 文件夹。
setup SAPWD="AStrongSAPwd" /L*v C:\MSDELog.log
其中,AStrongSAPwd 是为 sa 登录指定的强密码。
setup INSTANCENAME="InstanceName" SAPWD="AStrongSAPwd"
/L*v C:\MSDELog.log
其中,AStrongSAPwd 是为 sa 登录指定的强密码,InstanceName 是为该实例指定的名称。
setup SAPWD="AStrongSAPwd" SECURITYMODE=SQL
/L*v C:\MSDELog.log
其中,AStrongSAPwd 是为 sa 登录指定的强密码。
setup INSTANCENAME="InstanceName" SECURITYMODE=SQL
SAPWD="AStrongSAPwd" /L*v C:\MSDELog.log
其中,AStrongSAPwd 是为 sa 登录指定的强密码,InstanceName 是为该实例指定的名称。
重要 如果安装时使用 .ini 文件,请不要将凭据存储在该 .ini 文件中。
重要 即使实例被配置为使用 Windows 身份验证,也请始终为 sa 登录指定一个强密码。
本节中的示例描述如何将现有的 MSDE 1.0 实例升级到 MSDE 2000 SP4,并且禁用该实例的网络连接。如果该实例必须接受在其他计算机上运行的应用程序请求的连接,请不要指定 DISABLENETWORKPROTOCOLS 参数。
MSDE 1.0 与 MSDE 2000 的默认实例的运行方式相同,且总是升级为 MSDE 2000 默认实例。
说明 复制拓扑中的 MSDE 1.0 实例无法升级到 MSDE 2000 SP4。
将 MSDE 1.0 实例升级到 MSDE 2000 SP4
cd c:\MSDESP4Folder\MSDE
其中 c:\MSDESP4Folder 是一个路径,它指向将 MSDE 2000 SP4 文件解压缩到的文件夹或者 SQL Server 2000 SP4 光盘上的 MSDE 2000 SP4 文件夹。
setup UPGRADE=1 DISABLENETWORKPROTOCOLS=1
/L*v C:\MSDELog.log
setup UPGRADE=1 SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin
UPGRADEPWD=AdminPassword DISABLENETWORKPROTOCOLS=1
/L*v C:\MSDELog.log
重要 如果安装时使用 .ini 文件,请不要将凭据存储在该 .ini 文件中。
安全说明 强烈建议您不要使用空白密码,因为空白密码会大大增加安全隐患。
说明 如果使用 BLANKSAPWD=1
,则不必指定 SECURITYMODE=SQL
或 UPGRADEUSER
与 UPGRADEPWD
。
完成安装后,可能会提示您重新启动系统。3.1.3 中 提供了有关何时必须重新启动的准则。在系统重新启动(或者完成安装但未请求重新启动)之后,使用“控制面板”中的“服务”应用程序,确保在应用 Service Pack 之前停止的所有服务现在正在运行。在应用 Service Pack 之前可能已停止的服务包括 DTC、MSSQLServer 和 SQLServerAgent 服务或其实例专用的同等服务。
请重新启动运行 Service Pack 安装程序之前关闭的应用程序。
此时,对升级后的 master 和 msdb 数据库进行备份也是明智的。
以下信息仅适用于作为合并复制拓扑一部分的现有 MSDE 2000 实例。
说明 许多情况下,尤其在合并复制中,分发服务器和发布服务器位于同一台服务器,在同一时间升级。
在以下情况下,需要使系统暂停(停止所有更新)并同时升级所有服务器。
下表中包括的服务器既发布又订阅允许在订阅服务器上进行更新的发布。如上一节所述,对于允许在订阅服务器上进行更新的拓扑,必须遵循下列升级顺序: 分发服务器、发布服务器、订阅服务器。此顺序要求,对于合并发布,先升级服务器 A;对于通过更新订阅服务器进行的事务发布,先升级服务器 B。在此情况下,必须使系统暂停,然后同时升级这些服务器。
服务器 A | 服务器 B |
---|---|
用于合并复制的发布服务器/分发服务器 | 用于合并复制的订阅服务器 |
用于通过更新进行事务复制的订阅服务器 | 用于通过更新进行事务复制的发布服务器/分发服务器 |
在此示例中,可以首先升级服务器 A,因为只读事务复制允许在升级发布服务器/分发服务器之前先升级订阅服务器。
服务器 A | 服务器 B |
---|---|
用于合并复制的发布服务器/分发服务器 | 用于合并复制的订阅服务器 |
用于只读事务复制的订阅服务器 | 用于只读事务复制的发布服务器/分发服务器 |
以下信息仅适用于作为合并复制拓扑一部分的 MSDE 2000 实例。
如果存在只读数据库或文件组,则安装程序将显示以下消息:
Setup has detected one or more databases and filegroups which are not writable.
通常,可以忽略此警告并继续运行安装程序。但是,如果安装程序日志中列出的任何只读数据库是复制拓扑的成员,则必须使这些数据库可写,并将 SP4 安装程序重新应用于该 SQL Server 2000 实例。
安装过程中,安装程序不会区分只读数据库和脱机或可能有问题的数据库。如果复制拓扑中的数据库或文件组在安装时是只读的,必须重新应用 Service Pack 来升级该数据库。有关如何使数据库联机的更多信息,请参见 SQL Server 2000 联机丛书中的“附加和分离数据库”主题。有关诊断可能有问题的数据库的更多信息,请参见 SQL Server 2000 联机丛书中的“服务器和数据库疑难解答”主题。
对只读数据库应用 MSDE 2000 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 联机丛书中的“ALTER DATABASE”参考主题。有关重新应用 SP4 的更多信息,请参见 3.8 。
将 MSDE 2000 实例升级到 MSDE 2000 SP4 时,可能需要验证某些系统存储过程在其他 SQL Server 或 MSDE 实例中是否已更新。
MSDE 2000 SP4 包括将 Microsoft 数据访问组件 (MDAC) 升级到 MDAC 2.8 SP1。MDAC 2.8 SP1 包括对 SQLOLEDB 提供程序和 SQL Server ODBC 驱动程序的更新。有关更多信息,请参见 1.5 。 如果提供程序或驱动程序连接到 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 实例中的目录存储过程。
安装了 MSDE 2000 SP4 之后,必须针对任何版本低于 SQL Server 2000 SP4 并具有以下特性的 SQL Server 或 MSDE 实例,从 MSDE 2000 SP4 运行 Instcat.sql 脚本:
升级选中了“Windows 身份验证”选项的 MSDE 2000 实例上的目录存储过程
osql -E -SComputerName -ilocation\instcat.sql
osql -E -SComputerName\InstanceName -ilocation\instcat.sql
升级选中了“混合模式身份验证”选项的 MSDE 2000 实例上的目录存储过程:
osql -UAnAdminLogin -PAdminPassword
-SComputerName -ilocation\instcat.sql
osql -UAnAdminLogin -PAdminPassword
-SComputerName\InstanceName -ilocation\instcat.sql
其中:
InstanceName
是 SQL Server 2000 或 MSDE 2000 命名实例的名称。instcat.sql
的文件夹的完整路径。已安装的 SQL Server 2000 实例的默认位置是 c:\program files\Microsoft SQL Server\MSSQL\Install。Instcat.sql 脚本可生成许多消息。这些消息通常不指明任何错误。只是通知您脚本中每条 Transact-SQL 语句所影响的行数。最后一条消息应指明脚本是否成功运行。
为了能够还原到安装 SP4 之前的 MSDE 2000 版本,必须先备份 master、msdb 和 model 数据库,然后再安装 SP4。有关更多信息,请参见 3.1.1 。
还原到安装 SP4 之前的 MSDE 2000 版本
警告 还原到安装 SP4 之前的 SQL Server 版本后,将丢失自安装 SP4 之后对 master、msdb 和 model 数据库所做的所有更改。
说明 还原到安装 SP4 之前的 MSDE 2000 版本时,不会卸载 MDAC 更新。有关更多信息,请参见 1.5 。
如果使最初应用 SP4 时属于复制拓扑的只读数据库或文件组可写,必须重新应用 MSDE 2000 SP4。
要重新应用 MSDE 2000 SP4,请执行 3.0 中的步骤。
本节描述 Service Pack 安装的其他注意事项。
如果应用程序供应商具有分发 MSDE 2000 的许可证,MSDE 2000 SP4 将包含随该应用程序再分发 MSDE 2000 所需的所有文件。可以按照最新版本的 SQL Server 2000 联机丛书中所述分发 MSDE 2000 SP4 文件。还可以在此 上注册,获得再分发 MSDE 2000 的权利。
有关安装最新版本的 SQL Server 2000 联机丛书的更多信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。
如果某个应用程序有基于 Windows 安装程序的安装实用工具,则该应用程序可以通过使用 MSDE 2000 合并模块来安装 MSDE 2000 实例。MSDE 2000 SP4 提供合并模块以支持使用合并模块的现有应用程序。新应用程序的安装实用工具必须编写为调用 MSDE 2000 安装实用工具,而不是直接使用 MSDE 2000 合并模块。
如果供应商选择使用 MSDE 2000 合并模块安装 MSDE 2000 实例,则他们必须为其客户提供以后所有的 MSDE 2000 修补程序。应用程序直接使用合并模块安装的 MSDE 2000 实例,使用 Windows 安装程序与应用程序关联的产品代码 GUID 进行标记。只有也包含该应用程序产品代码 GUID 的修补程序文件才能修补这些 MSDE 2000 实例。只有应用程序供应商开发的修补程序文件才会包含正确的产品代码。由 Microsoft 提供的 MSDE 2000 Service Pack 不能应用于这些实例。应用程序供应商必须使用 MSDE 2000 SP4 文件构建修补程序文件,并将这些修补程序文件分发给该供应商所有需要 SP4 中修复程序的 MSDE 客户。
有关如何创建修补程序文件包的更多信息,请参见 Windows 安装程序软件开发工具包 (SDK),该工具包可以从 下载。
如果应用程序的安装实用工具通过调用 MSDE 2000 安装程序来安装 MSDE 2000 实例,则 MSDE 2000 实例使用 MSDE 2000 产品代码 GUID 进行标记。客户可以使用标准的 MSDE 2000 Service Pack 文件来修补这些实例。应用程序供应商可以选择下列某个方法来分发 MSDE 2000 SP4:
所有 MSDE SP4 安装文件和文件夹均位于 \MSDE 文件夹,该文件夹位于下列一个或多个位置:
\MSDE 文件夹中包含 Readmesql2k32desksp4.htm 文件、readme.txt 文件、license.txt 文件和安装实用工具的可执行文件。它还包含下列子文件夹:
有关如何使用 MSDE 合并模块的进一步说明,请参见 SQL Server 2000 联机丛书中的“使用 SQL Server Desktop Engine 合并模块”主题。
说明 新安装不支持合并模块。SP4 中提供的合并模块用于维护以前使用合并模块安装的 MSDE 2000 实例。
如果应用程序安装程序调用 MSDE 2000 安装程序,请构建一个具有以下结构和文件集的文件夹。文件夹 MSDEInstallFolder 代表示例文件夹名称:
MSDEInstallFolder
将以下文件从 MSDE 2000 SP4 \MSDE 文件夹复制到此位置:Setup.exe、Setup.ini、Setup.rll 和 sqlresld.dll。
MSDEInstallFolder\Msi
将 MSDE 2000 SP4 \MSDE\Msi 文件夹中的所有文件复制到此位置。
MSDEInstallFolder\Setup
将 MSDE 2000 SP4 \MSDE\Setup 文件夹中的所有文件复制到此位置。
然后可以执行 Setup.exe 以安装或升级为 MSDE 2000 SP4 实例。
说明 如果计算机上尚未安装 Windows 安装程序或者其版本低于支持的 MSDE 2000 SP4 安装程序版本,安装程序将使用 MSDEInstallFolder\Msi 文件夹中的文件来升级 Windows 安装程序。
本节介绍在应用 MSDE 2000 SP4 之后可能发生的问题以及运行 SP4 时可以使用的新功能。在通过运行 Service Pack 从任何早期版本的 MSDE 2000(包括 MSDE 2000 Release A)升级时,可能会出现这些问题。本节不描述 SP4 中提供的所有修复程序。有关这些修复程序的完整列表,请参见知识库文章 。
对于未能及时包含在本自述文件中、与 SQL Server 2000 Service Pack 4 相关的信息,将发布在 Microsoft 知识库文章 中。
下列增强功能适用于安装 Database Components SP4 的 MSDE 2000 实例。它们还适用于安装 MSDE 2000 SP4 的 MSDE 2000 Release A 实例。
在 SP1 中引入
散列组 (hash teams) 已删除。由于 MSDE 2000 中的某些增强功能,使用散列组已不能获得它们在 MSDE 1.0 中所提供的性能优势。而且,删除散列组使得 MSDE 2000 更加稳定。
因此,查询优化器不再用散列组生成查询计划。
在极个别的情况下,删除散列组可能会使查询的处理速度减慢。请分析这类查询并确定创建更适合的索引是否能使查询性能恢复到以前的水平。
在 SP1 中引入
此 Service Pack 添加了两个 Affinity Mask 开关。
使用此 Service Pack,可以指定使用哪些 CPU 来运行用于磁盘 I/O 操作的线程。这一开关必须与 Affinity Mask 选项结合起来使用。有关更多信息,请参见知识库文章 。
使用此 Service Pack,可以将支持虚拟接口体系结构 (VIA) 的系统配置为将 MSDE 2000 连接从某些网卡绑定到一个处理器或一组处理器。这一开关必须与 Affinity Mask 选项结合起来使用。有关更多信息,请参见知识库文章 。
在 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 选项。在 MSDE 2000 SP3 或更高版本中,现在有两个选项可用来将 LIKE 运算发送到链接服务器。如果用于链接服务器的 OLE DB 提供程序支持 LIKE 运算符和通配符的 SQL Server 语法,则可以指定 SqlServerLike 选项,以便让 MSDE 2000 使用 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\
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Providers\
在 SP3 中引入
对于分布式查询,MSDE 2000 除了返回服务器错误信息以外,还返回提供程序错误信息。当相互链接的服务器之间的查询导致错误时,MSDE 2000 将检查该提供程序是否支持 IErrorRecords OLE DB 接口。如果支持此接口,MSDE 2000 将调用 GetErrorInfo 函数,以便从该提供程序中获取附加错误信息,并将此信息作为错误消息的一部分返回给用户。如果不支持 IErrorRecords 接口,则 MSDE 2000 的行为没有什么变化:MSDE 2000 将返回一般性错误。
例如,如果对使用 MSDASQL 的服务器(该服务器不支持 sql_variant)运行下列查询:
SELECT * FROM remote2k.dqtable.dbo.sqlvariantnotnull
--Remote2k is a loopback server.
SP3 之前的 MSDE 2000 版本会返回下列错误消息:
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 或更高版本之后,MSDE 2000 返回下列错误消息:
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.8 SQL Server 2000 联机丛书更新已可用。这是 的英语版参考主题。
在 SP3 中引入
此 Service Pack 提供了一个新选项,可以用来打开和关闭跨数据库所有权链接。
在安装 MSDE 2000 SP4 时,可以使用 ALLOWXDBCHAINING 安装参数为所有数据库启用跨数据库所有权链接。ALLOWXDBCHAINING 在最新版本的 SQL Server 2000 联机丛书的以下主题中描述:(自定义 Desktop Engine Setup.exe)。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。
说明 建议不要对所有数据库启用跨数据库所有权链接。
安装后,可以使用下列方法对实例中的所有数据库打开或关闭跨数据库的所有权链接:
如果对该实例关闭了跨数据库所有权链接,则可以对单个数据库进行配置。使用下列方法可以对数据库打开和关闭跨数据库的所有权链接:
有关更多信息,请在运行安装程序时单击“后向兼容性一览表”页上的“帮助”按钮、下载 SQL Server 2000 联机丛书的更新版,或者查看知识库文章 。
在 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 存储过程。
有关更多信息,请参见知识库文章 。
在 SP3 中引入
应用了 Service Pack 之后,将无法再在参与故障转移群集的数据库引擎实例上禁用命名管道协议。
在 SP3a 中引入
从 MSDE 2000 SP3a 开始,如果 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 始终处于活动状态;它不能被启用或禁用。
还可以在安装或升级 MSDE 2000 实例时指定是否禁用服务器 Net-Library。使用 MSDE 2000 安装实用工具的 DISABLENETWORKPROTOCOLS 参数或 MSDE 2000 合并模块的 SqlDisableNetworkProtocols 属性。有关这些选项的更多信息,请参见最新版本的 SQL Server 2000 联机丛书中的以下主题:(自定义 Desktop Engine Setup.exe)。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。
在 SP4 中引入
在 SP4 中,网络数据包大小选项的最大值(使用 sp_configure 设置)为 32767。该值略小于以前的最大值 65536 的一半。在升级期间,大于 32767 的现有值将自动调整为 32767。如果脚本尝试使用 sp_configure 设置一个大于 32767 但小于等于 65536 的值,该值也将设置为 32767。将网络数据包大小设置为大于 65536 的值将导致错误。
在 SP4 中引入
SP4 包含对 SQL Server 优化器行为的更改,此更改影响包含具有大的 IN 列表或许多 OR 子句的谓词的查询。更具体的讲,此更改(在 SQL Server 2000 热修复程序 789 中引入)影响包含以下内容的查询(或可以使用包含以下内容的对应表达式重写的查询):
如果运行此类查询的系统具有大量内存但并行程度很低,优化器可能会选择性能较差的查询计划。为了覆盖优化器行为的更改,此 Service Pack 中提供了跟踪标志 9060。默认情况下,禁用跟踪标志 9060。如果启用该跟踪标志,热修复程序 789 之前的 SP3 行为将启用。如果启用该跟踪标志时遇到错误 701(系统内存不足),应考虑使用 IN 列表中的值的临时表或表变量重写查询。对于数字范围,应使用 BETWEEN 子句或者大于 (>) 或小于 (<) 运算符。有关使用跟踪标志的信息,请参见 SQL Server 联机丛书中的“跟踪标志”。
在 SP4 中引入
SP4 中支持 Banyan VINES、多协议、AppleTalk 和 NWLink IPX/SPX 网络协议。但是,在 SQL Server 2005 以及更高版本中将不支持这些协议。请做出相应计划。
本节讨论 MSDE 2000 SP4 中包含的 MSDE 2000 复制增强功能。
在 SP1 中引入
在事务复制设置期间,将在订阅数据库中创建插入、删除和更新操作的自定义存储过程。不管 UPDATE 语句会影响多少列,更新自定义存储过程都将更新订阅表中的所有列。任何未更改的列都将重置为更新前已存在的相同值。通常,此操作不会引起问题。但是,如果 这些列中的任意一列被编制索引,则重置操作会占用大量资源。
如果您使用事务复制,并且订阅表中有若干个索引,而且只有几个列值因为更新而发生改变,则在订阅服务器应用更改时,维护索引的开销可能会成为限制性 能的因素。例如,用于报告用途的订阅数据库可能具有比发布数据库更多的索引。在运行时动态生成 UPDATE 语句可以改善性能。此更新将仅包括已更改的列,从而创建最优的 UPDATE 字符串。
此 Service Pack 包含一个新的能够生成自定义存储过程的存储过程 sp_scriptdynamicupdproc,在运行时,您可以在订阅服务器中使用该自定义存储过程动态生成 UPDATE 语句。但是,在运行时生成动态 UPDATE 语句需要额外的处理。
sp_scriptdynamicupdproc 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。这是 sp_scriptdynamicupdproc 的英语版参考主题。
在 SP1 中引入
设置 nosync 订阅(即不接收初始快照的订阅)时,必须手动创建 INSERT、UPDATE 和 DELETE 语句的自定义存储过程。通常,在传送初始快照时,会在订阅服务器上创建这些语句。新添加的存储过程 sp_scriptpublicationcustomprocs 可以为发布级的自定义存储过程生成脚本。这一新功能可以使设置 nosync 订阅变得更加容易。
sp_scriptpublicationcustomprocs 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.8 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 来更新配置文件(请参见本节后面的 )。
重要 发布的默认保持期为 14 天。如果某个项目同时属于多个发布,则可能有几个不同的保持期。此时,将使用最长的保持期来确定清除可能发生的最早时刻。如果在数据库上有多个发布,并且其中有一个发布使用无限的发布保持期 (@retention=0),则不会自动清除该数据库的合并元数据。因此,使用无限发布保持时要格外小心。
系统存储过程 sp_add_agent_parameter 现在有一个 MetadataRetentionCleanup 参数,通过此参数可在合并代理程序配置文件中添加或删除元数据保持清除操作。值为 1 表明配置文件应包括清除;值为 0 表明不应包括清除。例如,要将元数据保持清除添加到配置文件中,请执行下列代码:
EXEC sp_add_agent_parameter @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 版本,则需考虑下列问题:
在 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-
sp_createmergepalrole 在最新版本的 SQL Server 2000 联机丛书中描述。有关安装最新版本的 SQL Server 2000 联机丛书的信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。这是 的英语版参考主题。
在 SP3 中引入
如果创建某个订阅的用户不是 sysadmin 固定服务器角色的成员,则必须执行下列任一操作:
说明 远程代理程序激活功能总是要求作业步骤在 sysadmin 固定服务器角色的用户帐户的上下文中运行。
在 SP3 中引入
许多用于实现、管理和监视复制拓扑的存储过程的权限已经更改。这些更改中的大多数都涉及到使运行存储过程所需的权限变得更为严格。有关新权限的更多 信息,请查阅 SQL Server 联机丛书更新版中有关复制存储过程的 Transact-SQL 参考文档。有关更新的 SQL Server 联机丛书的更多信息,请参见 1.8 SQL Server 2000 联机丛书更新已可用。
在 SP3 中引入
sp_addmergearticle 和 sp_changemergearticle 中已经同时添加了一个新参数 @published_in_tran_pub。此参数用于指明是否将合并发布中的一个项目同时发布到事务发布中。@published_in_tran_pub 的数据类型为 nvarchar(5),默认值为 FALSE。TRUE 用于指明将某个项目同时发布于事务发布中。
说明 在 sp_changemergearticle 中更改此参数时,必须使快照无效并且必须重新初始化订阅服务器。
在 SP3 中引入
SQL Server 允许您启用现有的订阅(使用 SQL Server 企业管理器 SQL-DMO 和复制存储过程创建),以便与 Windows 同步管理器一起使用。还可以使用 Windows 同步管理器创建新订阅。在您应用该 Service Pack 以后,当 Windows 同步管理器同步订阅时,将提示您输入连接到参与同步的服务器所需的一个或多个密码。
在 SP3 中引入
在某些情况下,在附加或还原发布数据库的过程中,复制可能无法正常工作。包括以下情况:
如果符合上述所有情况,则应在附加或还原的数据库上执行 sp_changedbowner 存储过程。将所有权指定给内置的 sa 管理员登录。这将确保复制功能能够正常运行。
说明 只有 sysadmin 固定服务器角色的成员能够执行 sp_changedbowner。
有关跨数据库所有权链接的更多信息,请参见 5.1.8 。
在 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 中引入
MSDE 2000 现在会检查以确保代理作业的所有者具有追加或重写每个作业所产生的输出日志文件的权限。存在三种情况:
在所有情况下,均使用 SQL Server 代理凭据写入作业,但 MSDE 2000 现在将进行测试以确保用户对服务器上所选作业输出日志文件位置具有写权限。错误被记录在作业历史记录中,但如果无法写入日志文件,作业步骤也不会失败。
在 SP3 中引入
在 MSDE 2000 和 32 位版本的 SQL Server 2000 中,可以配置 SQL 代理邮件以使用扩展 MAPI 电子邮件配置文件来发送电子邮件警报。可以使用扩展 MAPI 电子邮件应用程序(如 Microsoft Outlook)来创建扩展 MAPI 配置文件。在 64 位版本的 SQL Server 2000 中,SQL 代理邮件只能使用简单 MAPI 配置文件来发送电子邮件警报。不要在 MSDE 2000 或 32 位版本的 SQL Server 2000 中使用简单 MAPI 配置文件。
以下主题讨论 SP4 中包含的 XML 和 SQLXML 的增强功能。
在 SP3 中引入
在应用 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 或更高版本之后将失败。
要防止失败,必须按如下所示修改该 XPath 表达式:
在 SP1 中引入,在 SP4 中更新
虽然 SQL Server 2000 和 MSDE 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。
以下主题描述 MSDE 2000 安装程序的增强功能。
在 SP4 中引入
MSDE 2000 SP4 为 MSDE 2000 安装程序引入了一个新参数 SAVESYSDB。SAVESYSDB 参数供在将使用合并模块或 MSI 文件安装的 MSDE 2000 实例升级到将来的 SQL Server 2005 Express Edition 版本时使用。SAVESYSDB 将与计划为将来的 SQL Server Express 版本引入的一项新功能组合使用。仅当通过在命令提示符处运行 MSDE 2000 安装程序来卸载实例时,SAVESYSDB 才有效。
默认情况下,在卸载 MSDE 2000 实例时,MSDE 2000 安装程序会删除 master、model 和 msdb 系统数据库的文件。如果指定 SAVESYSDB=1,则 MSDE 2000 安装程序会保留这些系统数据库的文件。
尽管可以随时指定 SAVESYSDB,但是只在与 /x 卸载开关一起使用时才会处理该参数。
Setup /x sqlrun01.msi SAVESYSDB=1 INSTANCENAME="MyInstance"
如果没有指定 /x,将忽略 SAVESYSDB。如果同时指定了 SAVESYSDB 和 /x,SAVESYSDB 必须设置为 1,将其设置为任何其他值都会出错。
在 SP4 中引入
SQL Server 2000 SP4 引入了新的可维护性功能,使您可以卸载在 Windows XP 和 Windows Server 2003 上运行的 SQL Server 2000 SP4 以及更高版本所应用的热修复程序。(SQL Server 2000 SP3 也提供了此功能,但是只有在应用了附加的热修复程序之后才可用。)