3

我想完全或部分迁移数据库。现在,我将做一个完整的数据库。部分将作为一个单独的问题发布。

我正在考虑的策略:

  1. 复制数据库向导
  2. 将 2005 数据库转换为脚本。在 2008 上运行脚本
  3. 简单的 SQL 查询

我的问题-我想使用方法2。甚至可以这样做吗?如果是,该怎么做?任何限制/风险?

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

我不知道您是否需要成为系统管理员才能执行此操作。我什至不确定我是否是系统管理员。如果是,那么如何检查我是否是系统管理员?

4

4 回答 4

6

只要RESTORE在SQL2008服务器上,它就会自动升级。您可以使用IS_SRVROLEMEMBER.

于 2013-05-03T22:51:53.680 回答
0

最简单的方法是恢复备份或将 MDF 和 LDF 文件复制到新服务器。如果您的服务器在同一个网络中,您可以通过在第二台服务器上创建共享文件夹并在那里复制文件来做到这一点。

如果出于任何原因这不是一个选项,那么您可以压缩备份(确保添加强密码)将其上传到一些在线存储,然后从第二个服务器下载。

最后的选择是使用来自 RedGage 或 ApexSQL 的第三方比较和同步工具(市场上有很多这些工具,它们都有完整的功能试用版)

于 2013-05-04T07:58:09.943 回答
0

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

像往常一样授予用户访问权限,如果需要,将它们创建为新用户,或者从 SQL 2005 迁移它们。

从 2005 年开始生成脚本并在 2008 年运行是一条漫长的道路。可能存在一些错误和 TSQL 兼容性的可能性。

希望能帮助到你 !!

于 2013-05-03T23:41:30.813 回答
0

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

如果数据库太大,选项 2 可能会出现问题。使用最多 2 GB 的数据库为我工作。

任何限制/风险?

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

如果是,该怎么做?

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

于 2013-05-03T23:07:59.320 回答