在这里做了一点腌菜......在一个CMS项目上工作,假设sql server 2008被绿灯作为首选的数据库。好吧事实并非如此,我们现在必须将所有内容反向移植到SQL Server 2008和SQL Server 2005中。
简单的备份/恢复过程会产生:“RESTORE HEADERONLY正在异常终止。(Microsoft SQL Server,错误:3241)”。
不幸的是,将数据导出到Excel电子表格会产生多个OLE错误,我认为这实际上是cms数据库中的一个问题。
有没有人有他们想为此任务推荐的其他方法?提前致谢
答案 0 :(得分:15)
使用RedGate:
用于比较和部署SQL Server数据库内容的工具。
您可以在源代码管理中使用实时数据库,备份或SQL脚本。损坏或丢失的数据可以恢复到一行,而无需完整的数据库恢复。
SQL数据比较可帮助您快速,简单地比较和部署更改,并且没有错误......
答案 1 :(得分:9)
默认情况下无法执行此操作。您可以在2008服务器上为2008数据库生成脚本,然后在2005版本上执行这些脚本。请注意,您必须手动审核脚本并删除2008版本独有的所有部分。
另一种方法是使用第三方工具,例如Red Gate或ApexSQL Diff(移动架构)和ApexSQL Data Diff(移动数据)。
答案 2 :(得分:6)
使用Generate SCripts创建数据库和模式,并确保定位SQL Server 2005和脚本数据。
答案 3 :(得分:5)
您可以尝试使用SQL 2005的“导入/导出数据”向导,而不是进行备份和还原。
http://support.microsoft.com/default.aspx?scid=kb;en-us;314546
http://msdn.microsoft.com/en-us/library/ms140052(SQL.90).aspx
答案 4 :(得分:4)
我刚遇到同样的问题,这就是我如何解决它。
问题是将数据库从可操作的SQL Server 2008数据库复制到新的SQL Server 2005数据库。
我在2008服务器上使用Management Studio编写了数据库脚本。我只编写了数据库设计脚本,而不是数据。我还应该补充一点,DB只有表和索引,所以我没有尝试过任何更聪明的对象,尽管我不明白为什么它们不起作用。
在2005服务器上,我手动创建了一个新数据库,然后运行脚本来设置所有表和索引。
在管理工作室中,在2008服务器上,我使用“导出数据”向导将数据从2008服务器导出到2005服务器。它目前正在运行,似乎很乐意移动数据。
一旦所有数据全部通过,我还有一些小事要做 - 在2005 DB中创建用户并设置安全性,但总的来说它看起来并不坏这样做的方式。它不是点击式点击,但它并不太费劲。
所以似乎复制数据库向导不起作用(我认为因为该程序包最终在2005服务器上运行而2005管理工作室无法与2008进行对话),但导出数据向导非常乐意移动数据。只要数据库已经存在于目标服务器上。
希望这很有用。
答案 5 :(得分:1)
无法还原到SQL Server中的先前版本
周围没有SQL 2005备份吗?否则,你真的只能在2008年导出整个数据库,并重新导入到2005年,或者2008年的导入/导出向导
或依靠第三方工具。例如红门数据比较能够同步。 2个服务器/数据库之间的数据
答案 6 :(得分:0)
我只使用mysql,但是你可以将数据导出到sql语句中,然后将它们导入到sql 2005中吗?只是一个想法..
答案 7 :(得分:0)
我遇到了类似的问题(sql 2005到sql 2000),发现我碰巧在旧版本中有一个空白数据库。我用bcp.exe复制了所有数据。
答案 8 :(得分:0)
点击此链接click here 您可以在sql server 2008中创建数据库脚本,并且可以使用它sql server 2005和更低版本....