运行升级向导之后,检测到系统出现的问题如下:
一、在 90 或更高的兼容模式下,FOR XML AUTO 查询返回派生表引用
请考虑下表:
CREATE TABLE Test(id int);
INSERT INTO Test VALUES(1);
INSERT INTO Test VALUES(2);
下面包括派生表的查询在兼容级别分别为 80、90 或更高时产生不同的结果:
SELECT * FROM
(SELECT a.id AS a, b.id AS b
FROM Test a JOIN Test b ON a.id=b.id)
AS DerivedTest
FOR XML AUTO;
当兼容级别为 80 时,查询返回以下结果。结果引用派生表的基表别名 a
和 b
,而非派生表别名。
<a a="1"><b b="1"/></a><a a="2"><b b="2"/></a>
当兼容级别为 90 或更高时,查询返回针对派生表别名
DerivedTest
的引用,而非针对派生表基表的引用。
<DerivedTest a="1" b="1"/><DerivedTest a="2" b="2"/>
根据要求修改应用程序,以解决 FOR XML AUTO 查询(包括派生表并且在 90 或更高的兼容级别下运行)的结果发生变化这一问题。
二、删除对未记录的系统表的引用
在早期版本中未记录的许多系统表都已更改或不再存在,因此,如果使用这些表,在升级到 SQL Server 2008 之后可能会出现错误。由于升级顾问查找的是针对系统表名称的引用,因而它将报告任何与系统表同名的用户表。
三、全文搜索已在 SQL Server 2008 中发生更改
若干个全文搜索功能、设置和对象已在 SQL Server 2008 中得到修改,并且升级时不会维护许多现有设置。
四、在 90 或更高的兼容模式下不支持外部联接运算符 *= 和 =*
升级顾问检测到使用了外部联接运算符 *= 和 =*。在 90 或更高的兼容模式下不支持这两个运算符。升级到 SQL Server 2008 时,用户数据库将保持其兼容模式。在 80 兼容模式下,支持用于外部联接的 *= 和 =* 运算符,但会显示一条警告消息。如果将数据库兼容模式改为 90 或更高,则使用这两个运算符的语句将失败。
在将数据库兼容模式改为 90 或更高之前,将使用外部联接运算符 *= 和 =* 的语句修改为使用等效的 OUTER JOIN 关键字。下面的示例显示了使用 *=
运算符的查询和使用 LEFT OUTER JOIN
关键字的等效查询。
-- This query uses an old-style outer join operator.
USE pubs
SELECT employee.job_id, employee.emp_id,
employee.fname, employee.minit, jobs.job_desc
FROM employee, jobs
WHERE employee.job_id *= jobs.job_id
ORDER BY employee.job_id
-- This query uses the ANSI standard keywords LEFT OUTER JOIN.
USE pubs;
SELECT employee.job_id, employee.emp_id,
employee.fname, employee.minit, jobs.job_desc
FROM employee LEFT OUTER JOIN jobs ON
employee.job_id = jobs.job_id
ORDER BY employee.job_id
五、在 SQL Server 2005 或更高版本中,ORDER BY 子句中的列别名不能以表别名作为前缀。
执行出错的排序:
USE AdventureWorks;
GO
SELECT FirstName AS f, LastName AS l
FROM Person.Contact p
ORDER BY p.l
可改为:
USE AdventureWorks;
GO
SELECT FirstName AS f, LastName AS l
FROM Person.Contact p
ORDER BY l
USE AdventureWorks;
GO
SELECT FirstName AS f, LastName AS l
FROM Person.Contact p
ORDER BY p.LastName
分享到:
相关推荐
### 从SQL Server 2000升级至SQL Server 2008 R2的关键知识点 #### 一、系统及浏览器需求 - **操作系统要求**: - Windows XP SP3 及其以上版本 - Windows Vista SP1 及其以上版本 - Windows 7 - Windows 2008 ...
在将SQL Server 2005升级至SQL Server 2008的过程中,涉及的知识及技巧涵盖了从理解新版本特性到优化、安全、开发、维护高可用性数据库、数据仓库构建和报告服务使用的广泛范围。以下将详细介绍升级过程中需要注意的...
先将 SQL Server 2000 的 db 备份出来,然后将备份文件 restore 至新的 SQL Server 2005 实例中。 优点:安全。在新的 db 测试通过,就可以删除旧的 db,如果测试通不过,还可以撤换回原来的数据库,不至于中止业务...
SQL Server Migration是指从低版本的SQL Server升级到高版本的过程,本文档将详细介绍从SQL Server 2000升级到SQL Server 2014的步骤和注意事项。 SQL Server 2000升级到SQL Server 2014的步骤 1. Detach / Backup...
《SQL Server 2000升级至2005:策略与实践》 在IT行业中,随着技术的不断进步和企业需求的日益增长,数据库系统的升级成为了一个不可避免的过程。从SQL Server 2000升级至2005,不仅意味着获取更先进的功能和更高的...
1、如果是从SQL2008升级到SQL2008R2那么只能选择左侧“安装”对应右侧“从SQL SERVER 2000,SQL 2005或SQL 2008升级”这个选项来升级。 大家也注意到有一个“维护”但是这个选项是“从SQL 2008其他例如EXPRESS版本...
首先,`SQLServer2000版本的驱动包`是指用于与SQL Server 2000数据库进行连接的Java驱动程序。在Java编程中,我们通常使用JDBC(Java Database Connectivity)接口来与各种数据库进行交互。对于SQL Server,微软提供...
"jdbc:sqlserver://localhost:1433;databaseName=myDB", "username", "password"); ``` 在这个例子中,`com.microsoft.sqlserver.jdbc.SQLServerDriver`是驱动的类名,`jdbc:sqlserver://localhost:1433`是数据库...
本篇将详细阐述将SQL Server 2000升级到SQL Server 2005的过程中涉及的重要知识点。 首先,SQL Server 2005作为SQL Server 2000的后续版本,引入了诸多新特性与性能优化,例如增强的安全性、改进的查询性能、更丰富...
将Sql Server 2000中的数据库备份文件还原到sql2005中 将Sql Server 2000中的数据库备份文件还原到Sql Server 2005中是一个常见的问题。在这个过程中,我们需要了解Sql Server 2000和Sql Server 2005之间的差异,...
压缩包内附带链接服务器创建脚本方式,此SQL Server Native Client 10.0无病毒,有64位和32位可供选择。...安装完SQL Server Native Client 10.0后再创建个链接服务器,可以实现高版本SQLserver远程链接SQLserver2000。
sqlserver2000个人版 sqlserver2000企业版 sqlserver2000开发版
根据提供的文件信息,以下是对SQL Server 2008与SQL Server 2000使用说明的知识点展开: 一、SQL Server版本的安装与服务管理 1. 安装注意事项 在安装SQL Server 2008和SQL Server 2000时,需要注意的是,如果在同...
二、安装 SQL Server 2000 SP3 补丁 安装 SQL Server 2000 SP3 补丁需要遵循以下步骤: 1. 双击软件chs_sql2ksp3.exe,解压缩文件夹 sql2ksp3。 2. 选择“是”,在 C 盘创建文件夹 sql2ksp3。 3. 转到 C 盘目录下...
描述中提到的“此驱动包只有在sql server 2000 升级到sp3或sp4才能正常使用”,这表明为了确保驱动包能正常工作,SQL Server 2000需要安装最新的服务包(Service Pack),至少是SP3或SP4。服务包是微软发布的软件...
jdbc连接sqlserver2000数据库的驱动包;包含msbase jar mssqlserver jar msutil jar 注意事项:下载解压sql包 数据源驱动 rar文件 解压后的驱动包文件应放到固定的文件夹下 以避免再次打开程序运行时 系统能找到驱动...
在SQL Server 2000中,理解如何设置用户权限、角色和登录是至关重要的。这部分可能涉及登录账户的创建、角色分配、权限控制,以及如何保护数据库免受未授权访问。 五、备份与恢复 数据库的备份和恢复是确保数据安全...
5. **兼容性**:虽然SQL Server Native Client 10.0主要针对SQL Server 2005和2008设计,但也能与SQL Server 2000兼容。不过,需要注意的是,某些新特性可能在旧版本的SQL Server上不适用。 6. **错误处理和调试**...
此链接库针对使用机器码 API (ODBC、OLE DB 和 ADO) 的应用程序提供运行时间支持,以连接到 Microsoft SQL Server 2000、2005 或 2008。SQL Server Native Client 应该用来建立新的应用程序,或者加强需要利用新 SQL...
String url = "jdbc:sqlserver://服务器地址:端口;databaseName=数据库名"; String username = "用户名"; String password = "密码"; Connection conn = DriverManager.getConnection(url, username, password); ```...