我想完全或部分迁移数据库。现在,我将做一个完整的数据库。部分将作为单独的问题发布。
我正在考虑的策略:
我的问题 - 我想使用方法2.是否可以这样做?如果是的话,该怎么办?有任何限制/风险吗?
注意 - 源服务器是具有一个IP的SQL Server 2005数据库。 Destination是具有另一个IP的SQL Server 2008实例。
我不知道你是否需要系统管理员才能这样做。我甚至不确定我是不是系统管理员。如果是,那么如何检查我是否是系统管理员?
答案 0 :(得分:6)
在SQL2008服务器上只需RESTORE
它就是automatically upgraded。您可以使用IS_SRVROLEMEMBER
检查您是否是系统管理员。
答案 1 :(得分:0)
我的问题 - 我想使用方法(2)。甚至可以这样做吗? (...)任何限制/风险?
如果数据库太大,选项2可能会成为问题。为我工作的最多2 GB数据库。
任何限制/风险?
您可能需要增加SQL的缓冲区和/或通过命令行运行脚本,因为SQL Manager中的大型脚本占用了大量内存。
如果是,该怎么做?
要生成脚本,只需右键单击并选择生成脚本。为整个数据库选择数据和模型,并为其他数据库选择适当的选项。
答案 2 :(得分:0)
正如Pondlife所说,只需在SQL 2005备份数据库,在SQL 2008中还原为新数据库。将兼容模式更改为SQL 2005(版本9),或者将其保留为2008版本10或10.5 。我想你想保持数据库的原样,所以你可以将兼容的更多设置为9.0.xxxx,你就完成了。
像往常一样授予用户访问权限,如果必须,可以将其创建为新用户,或者从SQL 2005迁移它们。
从2005年开始生成脚本并在2008年运行是一条很长的路线。可能存在错误和TSQL兼容性的可能性。
希望它有所帮助!!
答案 3 :(得分:0)
执行此操作的最简单方法是还原备份或将MDF和LDF文件复制到新服务器。如果您的服务器位于同一网络中,则可以通过在第二台服务器上创建共享文件夹并在其中复制文件来完成此操作。
如果由于任何原因这不是一个选项,那么您可以压缩备份(确保添加强密码)将其上传到某个在线存储,然后从第二个服务器下载。
最终选项是使用RedGage或ApexSQL的第三方比较和同步工具(市场上有很多这些工具,它们都有完整的功能试验)