日期:2014-04-13  浏览次数:20509 次

Microsoft® SQL Server™ 2000 与 SQL Server 7.0 在大多数方面是兼容的。本文描述从 SQL Server 7.0 升级到SQL Server 2000 时的向后兼容性问题:

客户端网络实用工具和命名实例

当使用来自 SQL Server 7.0 或其早期版本的 SQL Server 客户端连接组件时,在连接到 SQL Server 2000 的命名实例之前,必须使用客户端网络实用工具设置别名。例如,若要在 SQL Server 7.0 客户端上连接 SQL Server 2000 命名实例,必须添加指向 \\computername\pipe\MSSQL$instancename\sql\query 的别名。如果使用别名

computername\instancename,客户端可按 SQL Server 2000 客户端所做的那样,通过指定该别名进行连接。对于

TCP/IP 套接字和 NWLink IPX/SPX Net-Library,则必须使用客户端网络实用工具在客户端定义别名,该客户端指定了端口地址,在该端口地址上可以监听命名实例。

多服务器作业和命名实例

当使用主服务器和目标服务器时,SQL Server 7.0 不能与 SQL Server 2000 命名实例相互操作。若想一起使用 SQL

Server 7.0 实例和 SQL Server 2000 实例以进行 MSX/TSX 操作,必须使用 SQL Server 2000 的默认实例而不是其命名实例。

升级 SQL Server 6.5 客户端软件

当在服务器上运行 SQL Server 6.5 版实例时,适用于下列问题:

若想从 SQL Server 6.5 客户端软件升级到 SQL Server 2000 客户端软件,并且有使用默认 Net-Library 的应用程序,

则必须使用客户端网络实用工具使命名管道或多协议作为默认 Net-Library,才能进行 Windows 身份验证连接。

身份验证模式

SQL Server 2000 可以在两种安全(身份验证)模式下运行:

Windows 身份验证模式(Windows 身份验证)

混合模式(Windows 身份验证和 SQL Server 身份验证)

混合模式允许用户使用 Windows 身份验证或 SQL Server 身份验证进行连接。通过 Microsoft Windows NT® 4.0 或Windows 2000 用户帐户连接的用户可以在 Windows 身份验证模式或混合模式下使用信任连接(由 Windows NT 4.0 或 Windows 2000 验证的连接)。

提供 SQL Server 身份验证是为了向后兼容。SQL Server 身份验证的一个例子是:创建单个 Microsoft Windows® 2000 组,将所有必要的用户添加到该组中,然后授于这个 Windows 2000 组登录 SQL Server 及访问任何所需数据库的权限。

在远程表上所执行操作的 ROWCOUNT 设置

当将数据库兼容级别设置成 80 时,在 SQL Server 2000 中的远程表上执行的 INSERT 语句不支持 ROWCOUNT。对于这些INSERT 操作,将忽略 SET ROWCOUNT 选项。

SQL Server 7.0 支持在远程表上执行的 INSERT 语句的 ROWCOUNT 设置。

服务器配置选项

SQL Server 2000 不支持下列服务器配置选项。

default sortorder id resource timeout

extended memory size spin counter

language in cache time slice

language neutral full-text unicode comparison style

max async IO unicode locale id

有关配置选项的更多信息,请参见设置配置选项和 sp_configure。

恢复模型和数据库选项

Microsoft® SQL Server™ 2000 提供下列恢复模型,用以简化恢复计划、简化备份和恢复过程以及阐明系统操作要求之间的折衷:

简单恢复

完全恢复

大容量日志记录恢复

每一个模型都针对性能、磁盘和磁带空间以及保护数据丢失的不同需要。

在 SQL Server 7.0 和早期版本中,通过 trunc. log on chkpt 和 select into/bulkcopy 数据库选项的组合设置来提供

类似的功能。trunc. log on chkpt 和 select into/bulkcopy 数据库选项可通过使用 sp_dboption 存储过程来设置。

下表将 trunc. log on chkpt 和 select into/bulkcopy 的设置映射到新恢复模型。

如果 trunc. log on chkpt 是: 且 select into/bulkcopy 是:

则恢复模型是:

FALSE FALSE FULL

FALSE TRUE BULK-LOGGED

TRUE TRUE SIMPLE

TRUE FALSE SIMPLE

说明 如果升级某个数据库,而此数据库中的 trunc. log on chkpt 和 select into/bulkcopy 选项设置为真,select

into/bulkcopy 设置为假,则强制此数据库为简单恢复模型。

为保持向后兼容,SQL Sever 2000 支持 trunc. log on chkpt 和 select into/bulkcopy 数据库选项,但在以后的版本

中可能不再支持。

在 SQL Server 2000 中,ALTER DATABASE Transact-SQL 语句提供 SET 子句用以指定数据库选项,包括恢复模型。有关数据库选项的更多信息,请参见设置数据库选项和 ALTER DATABASE。

保留关键字

在 SQL Server 2000 中,这些关键字不再是保留关键字:AVG、COMMITTED、CONFIRM、CONTROLROW、COUNT、ERROREXIT、

FLOPPY、ISOLATION、LEVEL、MAX、MIN、MIRROREXIT、ONCE、ONLY、PERM、PERMANENT、PIPE、PREPARE、PRIVILEGES、

REPEATABLE、SERIALIZABLE、SUM、TAPE、TEMP、TEMPORARY、UNCOMMITTED、WORK。

在 SQL Server 2000 中,这些关键字是保留关键字:COLLATE、FUNCTION、OPENXML。

SQL 事件探查器扩展存储过程

在 SQL Server 2000 中不支持 SQL 事件探查器扩展存储过程,如 xp_trace_addnewqueue 和xp_trace_generate_event。它们由一组新存储过程和系统用户定义函数替换。有关更多信息,请参见创建并管理跟踪和模板。

SQL 查询分析器中的默认连接选项设置

在 SQL Server 7.0 版及其早期版本中,SQL 查询分析器中 SET QUOTED_IDENTIFIER 的默认设置为 OFF。在 SQL Server 2000 中,SQL 查询分析器中的默认设置为 ON,这也是 ODBC 和 OLE DB 的默认设置。此外,SQL Server 2000 中的许多新特性(如索引视图和计算列上的索引)都要求该选项为 ON。