我需要确认一个标准的SQL 2000 数据库升级到SQL 2005 的过程。据我了解,至少有2 种升级方法。返回\恢复和分离\附加数据库。就我而言,我需要将原始 SQL 2000 数据库保持在线状态,因此我认为最好执行 Back\Restore。有人可以确认下面的过程并阐明我的问题吗?
在此先感谢您的帮助。乔治
由于您使用的是备份/恢复方法,因此您无需将数据库 (mdf) 和日志文件 (ldf) 复制到新服务器,只需将备份文件复制即可。您也不需要重新创建数据库。数据库、数据库文件和日志文件都将在还原过程中创建。升级过程由 SQL Server 在还原数据库备份时完成。
这是我使用的方法:
在 SQL Server 2000 上
在 SQL Server 2005 上
一旦数据库在新服务器上恢复。我在新的查询窗口中运行以下命令
USE [mydb]sp_updatestats -- updates statistics
这是因为在升级过程中不会自动更新统计信息。DBCC CHECKDB WITH DATA_PURITY 导致 DBCC CHECKDB 检查数据库中的列值是否无效或超出范围。从 SQL Server 2000 升级到 2005 或 2008 时,这一点很重要。
将数据库用户与登录关联
现在您的数据库已经恢复,您需要将其孤立用户与实际登录相关联。
方法 A:修复孤立用户
EXEC sp_change_users_login 'Report' -- 查找孤立用户-- 登录存在
EXEC sp_change_users_login 'Auto_Fix', 'user'
Run Code Online (Sandbox Code Playgroud)
-- 登录不存在
EXEC sp_change_users_login 'Auto_Fix', 'user', 'login', 'password'
Run Code Online (Sandbox Code Playgroud)
方法 B:sp_help_revlogin
您还有一个名为 sp_help_revlogin 的替代方法,它不仅可以帮助您恢复登录名,还可以帮助您恢复随之而来的原始密码。
http://support.microsoft.com/kb/246133/en-us
它本质上需要在旧服务器上创建一个存储过程来生成一个脚本,该脚本将输出所有现有的登录信息。然后将该存储过程的输出复制到新服务器并恢复与您恢复的数据库相关联的登录名。
| 归档时间: |
|
| 查看次数: |
11451 次 |
| 最近记录: |