【问题标题】:Restore SQL Server 2008 DB *to* SQL Server 2005将 SQL Server 2008 DB *还原到* SQL Server 2005
【发布时间】:2010-09-29 15:31:13
【问题描述】:

在这里让自己陷入了困境......在 CMS 项目上工作,假设 sql server 2008 被批准为首选数据库。好吧,事实并非如此,我们现在必须将所有内容从 SQL Server 2008 向后移植到 SQL Server 2005。

一个简单的备份/恢复过程会产生:“RESTORE HEADERONLY 异常终止。(Microsoft SQL Server,错误:3241)”。

不幸的是,将数据导出到 Excel 电子表格会产生多个 OLE 错误,我认为这实际上是 cms 数据库中的一个问题。

有没有人愿意为这项任务推荐其他方法?提前致谢

【问题讨论】:

标签: sql-server-2005 sql-server-2008


【解决方案1】:

使用RedGate:

用于比较和部署 SQL Server 数据库内容的工具。

您可以在源代码控制中使用实时数据库、备份或 SQL 脚本。损坏或丢失的数据可以恢复到单行,而无需完整的数据库恢复。

SQL 数据比较可帮助您快速、简单且零错误地比较和部署更改...

【讨论】:

  • SQL 比较和 SQL 数据比较摇滚。他们的 14 天免费试用(如果你问得好,他们会延长)让我摆脱了这样的困境。 Defo 在购物清单上。
  • 如果这样可以为您节省一天的时间,请不要购买该软件以获取商业利益。在我的上一个角色中,我们购买了该软件,它为自己支付了很多倍的费用。
  • 根据我的经验,RedGate 工具一直是救命稻草。虽然如果你只需要它来完成一次性工作,你为什么要购买它呢?如果您再次需要它(我认为您会这样做),那就买吧!
【解决方案2】:

默认情况下无法执行此操作。您可以在 2008 服务器上为 2008 数据库生成脚本,然后在 2005 版本上执行这些脚本。请注意,您必须手动查看脚本并删除 2008 版本独有的所有部分。

另一种方法是使用第三方工具,例如 Red Gate 或ApexSQL Diff(移动架构)和ApexSQL Data Diff(移动数据)。

【讨论】:

    【解决方案3】:

    查看此链接click here 您可以在sql server 2008 中创建数据库脚本,您可以在sql server 2005 及更低版本中使用它......

    【讨论】:

      【解决方案4】:

      我刚刚遇到了同样的问题,下面是我的解决方法。

      问题是将数据库从可运行的 SQL Server 2008 数据库复制到新的 SQL Server 2005 数据库。

      我在 2008 服务器上使用 Management Studio 编写了数据库脚本。我只编写了数据库设计脚本,而不是数据。我还应该补充一点,数据库只有表和索引,所以我没有尝试过任何更聪明的对象,尽管我想不出它们为什么不起作用。

      在 2005 年的服务器上,我手动创建了一个新数据库,然后运行脚本来设置所有表和索引。

      在 Management Studio 回到 2008 服务器上 我使用导出数据向导将数据从 2008 服务器导出到 2005 服务器。它目前正在运行,并且似乎很乐意移动数据。

      一旦所有数据都传输完毕,我还有几件小事要做 - 创建用户并在 2005 数据库中设置安全性,但总而言之,这看起来还不错这样做的方式。它不是很简单,但也不是很费劲。

      因此,复制数据库向导似乎不起作用(我认为因为该程序包最终在 2005 服务器上运行,而 2005 Management Studio 无法与 2008 通信)但导出数据向导很高兴移动数据.. . 只要数据库已经存在于目标服务器上。

      希望有用。

      【讨论】:

        【解决方案5】:

        使用 Generate SCripts 创建数据库和架构,并确保您以 SQL Server 2005 和脚本数据为目标。

        【讨论】:

        【解决方案6】:

        我遇到了类似的问题(sql 2005 to sql 2000),发现我在旧版本中碰巧有一个空白数据库。我使用 bcp.exe 复制所有数据。

        【讨论】:

          【解决方案7】:

          无法在 SQL Server 中恢复到以前的版本

          周围没有 SQL 2005 备份吗?否则,您真的只能在 2008 年导出整个数据库,然后重新导入到 2005 年,或者在 2008 年使用导入/导出向导

          或者依靠 3rd 方工具。例如红门数据比较能够同步。 2个服务器/数据库之间的数据

          【讨论】:

            【解决方案8】:

            您可以尝试使用 SQL 2005 的导入/导出数据向导,而不是进行备份和恢复。

            http://support.microsoft.com/default.aspx?scid=kb;en-us;314546

            http://msdn.microsoft.com/en-us/library/ms140052(SQL.90).aspx

            【讨论】:

              【解决方案9】:

              我只用mysql但是你能不能把你的数据导出成sql语句,然后再导入sql2005?只是一个想法..

              【讨论】:

              • 啊,我确实试过了。然后,sql 昨晚运行了 12 个多小时。数据库不是那么大,所以我认为有问题。
              猜你喜欢
              • 2023-04-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-10-25
              • 2010-12-17
              • 2010-12-12
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多