如何最好地将系统数据库从 SQL 2005 移动到 SQL 2008 R2?

如何最好地将系统数据库从 SQL 2005 移动到 SQL 2008 R2?

我正在从 SQL 2005 迁移到 SQL 2008 R2。移动生产数据库和日志很简单,通过分离/连接或备份/恢复即可。(新硬件,因此在迁移过程中,旧系统与新系统并行运行)

不过,我对系统数据库 (master 和 msdb) 感到疑惑。有什么最好的方法可以转移它们的关键内容,同时尽可能多地保留旧系统数据,包括登录名、用户、帐户密码等?(我知道我不能只进行备份/恢复)。

不涉及集群、镜像、复制、链接服务器或 SSIS。有一些标准维护工作。

运行使用任务 --> 生成脚本创建的脚本是否足够?生成的脚本中是否有部分无法从 SQL 2005 移植到 2008 R2?

移动系统数据库后,我是否应该采取其他步骤来完成迁移并避免出现孤立登录等问题?我是否需要手动设置旧系统设置?

答案1

不要。您的新实例将拥有自己的系统数据库。将它们视为不兼容。但您的救赎将是编写您关心的内容的脚本或使用 SSIS,IIRC,它具有移动登录和移动作业任务(第一个肯定,第二个不确定)。对于登录,如果它们是 Windows 登录,则只需一个,create login [domain\user] from windows任何孤儿都会得到解决。如果您有 SQL 登录,您将不得不四处寻找从 sys.sql_logins 中获取哈希密码和 SID 并执行create login [yourlogin] with sid = <some guid>, password = 0xfacefeed hashed。祝你好运!

相关内容