2010-06-30 121 views
4

我有一个SQL Server 2008版本数据库(版本号655)。如果我试图创建其附加到SQL Server 2005或SQL Server 2000中,我得到一个错误:更改SQL Server数据库版本

This database is version 655. This server is compatible with version 612 or previous

我当然可以将数据库附加到SQL Server 2008没有错误。我知道我可以为结构生成SQL命令,但许多表中也有很多数据。

如果我可以更改内部数据库版本(兼容级别现在设置为SQL Server 2000),则任何服务器版本中的附加进程都将工作,因为此进程会自动更新版本。

有什么建议吗?

编辑:我刚刚意识到,如果版本号的更新是自动的,将不会有做版本更改的方法。所以,我重新提出了这个问题:

您是否知道任何生成包含数据和结构的“包”的工具,该工具包与2000年至2008年的SQL Server版本兼容?一个工具或脚本,也许。

再次感谢。

在此先感谢。

+0

你可能想要更清楚你的问题是什么。 – 2010-06-30 07:24:17

回答

2

不,对不起。在过时的SQL Server上重新创建数据库。像大多数软件一样,SQL Server仅支持升级,而不是降级。

5

不能在任何情况下从SQL Server 2008服务器将数据库附加到以前的版本,如SQL Server 2005的

没有办法实现这一目标 - 有没有“转换”工具更改数据库版本或其他。

如果您需要支持SQL Server 2005,则必须拥有一个SQL Server 2005服务器(可能位于VM或其他服务器上)。或者您需要使用Red Gate的工具SQL CompareSQL Data Compare来同步SQL Server 2008和其他SQL Server 2005数据库之间的更改。

2

这是不可能的。您不能将SQL Server数据库附加/恢复到较早版本的SQL Server。你必须做出口/进口。

0

不,你不能降级SQL 2008到SQL 2005

+0

这个答案并没有带来任何新的问题。 – 2013-01-11 00:39:45

0

¿Do you know any tool that generate a "package" with data and structure that is compatible for SQL Server versions from 2000 to 2008? A tool or a Script, perhaps.

旧职。为了期货读者,我增加了2条建议。新的T-SQL功能(语法)不能被回移(当然),但对于简单场景(每个表都有一个主键),您可以临时设置和使用事务复制。您也可以编写一个脚本,将每个表的数据BCP OUT(我建议/本机模式),也许使用sp_MSForEachTable用于该BCP命令 - 这实质上是复制的快照过程。

相关问题