将SQL 2008 DB R2还原为SQL2008(无r2)

在我的开发者PC上安装了SQL 2008 R2
在内部服务器上安装了SQL 2008 R2(这里托管了一些应用程序)
在外部的第三方托管公司使用SQL 2008(没有r2)。

所以当我在我的开发者PC上创建数据库时,我需要在外部托管服务器上恢复,这是SQL 2008(没有r2)….但是我得到了一个构建版本错误……它说SQL2008 r2有更高的内部版本号所以我无法在w / o r2服务器上恢复。

我想在没有R2服务器上创建数据库并在我的localhost上恢复并进行更改并恢复到w / o r2服务器,但它说同样的错误……内部版本号已更改。

我以为我可以在我的开发者电脑上删除r2版本并使用SQL 2008 w / o r2,但问题仍然是我无法将数据库从内部服务器恢复到我的开发者电脑…… 🙁

所以简而言之:如果我想在SQL2008 R2和SQL2008之间恢复/备份数据库,如何处理这个(我需要数据库的数据?任何属性分配给数据库或其他什么?

是否有一个程序可以使用SQL2008 R2 DB作为SQL2008 DB?

我无法触及服务器上的SQL 2008版本……

请指教?

没有简单的属性可以切换到能够恢复到旧版本。 您可以在Management Studio中尝试这样做:

  • 选择源数据库
  • 选择“任务”>“生成脚本”。
  • 选择“脚本整个数据库和所有数据库对象”,按“下一步”
  • 选择“保存到文件”,然后单击“高级”按钮
  • 选择“服务器版本脚本”并选择所需版本:2000/2005/2008
  • 选择“脚本数据类型”,然后选择“架构/数据/两者”
  • 点击“确定”,然后点击下去!
  • 将生成的文件复制到目标计算机。
  • 登录到您的SQL Management Studio并打开复制的.sql文件…

如果你有一个小型数据库,它可能会工作。 对于较大的一个,你将遇到限制。

您必须使用SSMS中的向导导出/导入。 或使用一些第三方工具(例如红门)

使用附加/分离或备份/恢复没有降级选项。 并没有神奇的设定。

我担心自SQL 6.5 / 7以来就是这样。一般情况下,除了以下内容之外没有降级路径:在另一篇文章中解释结构和其他对象,然后在具有较低版本的实例上创建新数据库/版本号(R2是SQL 10.5,2088是10.0)然后您可以使用SSIS或再次获取SSMS(Managemenet studio)来编写数据的插入语句(您需要按顺序执行密钥依赖性并记住SET INDENTITYINSERT [table]如果你有一个标识列,则在每个表插入的末尾再次打开然后再关闭。你可以使用INSERT INTO 2008Inst.2008dbName.dbo.Table(col1,…)SELECT(col1,… )FROM 2008R2Inst.2008dbName.dbo.Table以获取实际数据