技术开发 频道

使用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占有。

  注意,标test被sys用户占有。

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
相关文章