我们是否可以将SQL Server 2008 R2 Express的数据库备份还原到SQL Server 2008 Express

问题描述:

我在“SQL Server 2008 R2”中有一个数据库备份,我可以将此数据库备份存储在“SQL 2008 Express”中吗?我们是否可以将SQL Server 2008 R2 Express的数据库备份还原到SQL Server 2008 Express

任何有关SQL-2008知识的人都会分享给我。

+0

可能重复的[从SQL Server 2008 R2到2008备份还原数据库](http://*.com/questions/6812099/backup-restore-db-from-sql-server-2008-r2-to-2008 ) – 2012-08-09 05:15:10

+0

这[已被问(已回答!)很多次](http://*.com/search?q=restore+backup+2008+R2+onto+2008) - 你应该** SEARCH * *再次询问同样的问题之前... – 2012-08-09 05:15:35

不,你不能这样做。

没有办法,没有方法,没有黑客,没有解决方法,也没有技巧从最新版本的SQL Server获得备份到旧版本。

它只是不起作用 - 它不受支持。

您需要使用某种SQL diff工具同步您的结构,并且可能需要通过导出和导入来同步您的数据。通过“数据导出/导入”向导或某种自定义的方式。

+0

非常感谢!!,我正在寻找这个。 – mas 2012-08-09 05:22:38

+1

谢谢marc_s! – mas 2012-08-09 05:35:05

否和'是'。

备份(.bak)是不可能的,也不会复制.mdf,但可以降级。

如果你愿意,你可以回到2005年。

我发现这个信息,它通过它简单的方式来运行你。

How to Downgrade SQL Server Database

直接链接:http://www.mytechmantra.com/LearnSQLServer/Downgrade_SQL_Server_Database_P1.html

提示:使用Microsoft OLEDB连接到目的地,而不是本机客户端,你应该避免在传输的任何错误

没有什么是不可能的,你只要以获得创意:)

  • 在一台机器上安装SQL 2008 R2的实例,在另一台机器上安装SQL 2008的实例
  • 打开SQL Server Management Studio中R2
  • 选择源数据库
  • 选择任务>生成脚本。
  • 选择“脚本整个数据库和所有数据库对象”,然后按“下一步”
  • 选择“保存到文件”,然后点击“高级”按钮
  • 选择“脚本对服务器版本”,并选择版本,想要:200/2005/2008
  • 选择'脚本数据类型'并选择Schema/Data/
  • 单击'确定',然后执行它!
  • 使用SQL 2008将结果文件复制到目标机器[或其他]
  • 登录到SQL Management Studio并打开复制的.sql文件...请注意,文件大小可能存在限制。 .SQL文件将数据插入到目标数据库中的顺序也可能存在问题,并且如果存在FK约束,这可能是一个问题....只需重新排序插入列表即可。 一旦.sql文件被组织,解析它[只是肯定],然后执行。

让我澄清一下这些方向。

如果可能的话,在SQL管理工具上同时登录旧服务器和新服务器。这使得这些步骤变得更加简单。

因此,从源服务器开始,右键单击数据库并编写脚本。有一个名为'脚本数据'的选项默认是关闭的,我们将其设置为true,这样脚本将包含所有数据的插入。我们选择脚本的表,视图,索引和键(和触发器...不知道你是否使用任何这些)。我也没有惹恼用户,因为这是有问题的。一旦在本地SQL服务器上手动创建用户并向他们授予对数据库的权限,则更容易。

然后将DB脚本编写到文件中。

然后选择本地SQL服务器并手动添加数据库,然后打开脚本文件并在新数据库下执行它,所有的表,数据,索引等都过来了。设置用户权限,你是黄金。