如何将数据库从SQL Server 2005迁移至2008年?

问题描述:

我想完全或部分迁移数据库。现在,我会做一个完整的数据库。部分将作为单独的问题发布。如何将数据库从SQL Server 2005迁移至2008年?

策略我正在考虑:

  1. 复制数据库向导
  2. 转换2005数据库脚本。 2008年
  3. 简单的SQL查询

我的问题运行脚本 - 我想使用方法2。它甚至有可能做到这一点?如果是的话,该怎么做?任何限制/风险?

注 - 源服务器是具有一个IP的SQL Server 2005数据库。目标是具有另一个IP的SQL Server 2008实例。

我不知道你是否需要sysadmin来做到这一点。我甚至不确定我是否是系统管理员。如果是,那么如何检查我是否是系统管理员?

Just RESTORE它在SQL2008服务器上,它将是automatically upgraded。你可以使用IS_SRVROLEMEMBER来检查你是否是系统管理员。

+0

我的备份储存一些网络驱动器上,而不是我的本地驱动器。我试图将备份文件保存在本地驱动器上,但该选项不存在。没有办法获得备份文件 – gregnorm 2013-05-03 23:19:13

+0

试过。但数据库在远程服务器上。我可以进入远程服务器,但不能将粘贴备份复制到本地。我希望复制到本地,然后将该副本上传到另一台服务器。那么我猜这不会发生。 – gregnorm 2013-05-03 23:57:18

+0

@etldude我不确定你的情况到底是什么,或者你对服务器有什么访问权限:这将有助于更准确地了解你有什么限制。但是,您可以直接从网络位置(UNC路径)进行恢复,也可以使用[复制数据库向导](http://msdn.microsoft.com/zh-cn/library/ms190775(v = sql)]升级数据库。 105)的.aspx)。 – Pondlife 2013-05-04 14:00:20

我的问题 - 我想使用方法(2)。这甚至有可能吗? (...)任何限制/风险?

如果数据库太大,选项2可能是一个问题。为我工作达2 GB的数据库。

任何限制/风险?

您可能需要增加SQL的缓冲区和/或通过命令行运行脚本,因为SQL Manager中的大型脚本占用大量内存。

如果是,该怎么办?

要生成脚本,只需右键单击并选择生成脚本。为整个数据库选择数据和模型,并为其他数据选择适当的选项。

+0

欢迎来到堆栈溢出!尝试更客观地回答问题。检查你的答案中的编辑,并在必要时进行更正。 – fotanus 2013-05-03 23:27:25

正如Pondlife所说,只需在SQL 2005中备份数据库,在SQL 2008上恢复为新数据库。您可以将兼容模式更改为版本9的SQL 2005,也可以将其保留为版本10的2008或10.5。我认为你想保持数据库的原样,所以你可以将兼容性设置为9.0.xxxx,你就完成了。

像往常一样授予访问权限的用户,创建为新的,如果你要,或者从SQL 2005

生成脚本迁移计划从2005年和2008年运行是一个长期的路线。可能有一些错误和TSQL兼容性的可能性。

希望它有帮助!

+0

试过。但数据库在远程服务器上。我可以进入远程服务器,但不能将粘贴备份复制到本地。我希望复制到本地,然后将该副本上传到另一台服务器。那么我猜这不会发生。 – gregnorm 2013-05-03 23:57:36

最简单的方法是恢复备份或将MDF和LDF文件复制到新服务器。如果您的服务器位于同一网络中,则可以通过在第二台服务器上创建共享文件夹并在其中复制文件来完成此操作。

如果这不是任何理由的选择,那么你可以压缩备份(确保添加强密码)将其上传到一些在线存储,然后从第二台服务器上下载。

最后一个选项是使用第三方的比较和同步工具从RedGage或ApexSQL(目前市场上很多这样的,他们都有功能齐全的试验)