技术开发 频道

使用Upgrade Advisor进行升级前检测

练习 2: 修复升级问题

在此部分中,您将修复Upgrade Advisor报告的以下问题:
• 重命名用户sys
• Outer join 操作符 *= and =* 在90兼容性模式下不被支持
当在90兼容性模式下使用表提示时,指定WITH关键字

任务

详细步骤

重命名用户 sys.

1.       打开SQL Server Enterprise Manager,然后导航到默认实例的Security文件夹。

1.       Security文件夹中,在Logins下面双击sys,然后查看此登录的属性。

注意,这个登录帐户拥有默认数据库AdventureWorks2000,它是AdventureWorks2000数据库中db_owner角色的成员。

2.      Databases文件夹,展开AdventureWorks2000,然后点击Tables

3.      在详细信息面板中,查看表以确定是否有表被sys占有。

  注意,标testsys用户占有。

4.       以相同的方式,查看是否用户sys占有任何视图(views)和存储过程(stored procedures)。结果,用户sys没有占有。

5.       Security文件加下,右键点击Logins,然后点击New Login

6.       使用下列信息创建一个新的登录:

·         Name: newsys

·         Authentication: SQL Server Authentication

·         Password: Pa$$w0rd

·         Default database: AdventureWorks2000

·         Database access: AdventureWorks2000

·         Database role: db_owner

7.      打开SQL Query Analyzer

8.       执行下面的脚本来将表test的拥有者变为newsys

USE AdventureWorks2000

GO

EXEC sp_changeobjectowner 'sys.test','newsys'

注意: 在真实的环境中,一些程序,脚本,存储过程或者视图可能需要修改来引用新的对象名称。

9.       转换到SQL Server Enterprise Manager,验证用户sys不再占有表test

10.    Security文件夹下的Logins下,删除用户sys

修复outer join操作符和表提示

1.      转换到SQL Query Analyzer

2.      File菜单下,点击Open

3.      当提示保存更改时,点击No,然后转到C:\SQL Scripts\Script.sql

这是一个脚本文件,用于Upgrade Advisor检测表提示和outer join操作符问题。

4.       查看这个脚本,然后按照以下修改它:

USE AdventureWorks2000

GO

SELECT * FROM Customer WITH (Index(AK_Customer_AccountNumber))

GO

SELECT * FROM CUSTOMER C

   LEFT OUTER JOIN CustomerAddress CA

  ON C.CustomerID=CA.CustomerID

5.      执行这个脚本来验证您已经进行了正确的修改。

6.      保存这个脚本

0
相关文章