我想降级我的数据库从SQL 2005到SQL 2000

我想降级我的数据库的所有视图和存储过程从SQL 2005到SQL 2000,但问题是,视图不能正确恢复。

只需使用诸如RedGate SQL Compare和RedGate SQL DataCompare之类的软件,就可以在不同版本之间同步结构和数据库。

或更altenaively更手动只是脚本企业pipe理器中的数据库中的所有对象,并在SQL 2005上创build新的数据库使用此。 然后在两个数据库之间导入/导出数据。

这两种方法都假定您没有使用sql2008中引入的任何function。

谢谢

巴蒂尔

在SQL Server中,有一些概念,如数据库兼容性,数据库内部版本和SQL Server版本。

SQL Server会在主数据库的引导文件中维护大量关于数据库的元数据(包括它创build的版本),当您将数据库附加到服务器上并根据服务器的版本进行检查时,会读取这些信息。 请注意,这个内部版本不同于2000,2005和2008这样的软件版本。当一个较低版本的数据库附加到一个更高的版本(服务器)时,那么数据库的内部版本立即被碰撞,恢复/附加很好,但是当您将较高版本的数据库附加到较低的SQL Server时,将无法进行所需的validation。 其中一个原因是,元数据和系统内部的表和结构从一个SQL Server版本改变到另一个,而较低版本不能处理较高版本的结构。

您可以使用以下命令轻松检查这些信息。

DBCC DBINFO与TABLERESULTS

您需要查找dbi_createVersion DBINFO结构:DBINFO @ 0x467BEEE8 dbi_createVersion 655

SQL Server 7.0:515 SQL Server 2000:539 SQL Server 2005:611/612 SQL Server 2008:655

http://sqlblog.com/blogs/jonathan%5Fkehayias/archive/2009/07/28/database-version-vs-database-compatibility-level.aspx

http://technet.microsoft.com/en-us/magazine/2008.08.sqlqa.aspx

http://sankarreddy.spaces.live.com/Blog/cns!1F1B61765691B5CD!463.entry?sa=862852830

现在回到你的问题,你必须使用SSIS或其他第三方工具来编写对象和数据的脚本。 但是我不得不问你为什么要回到2000年? 你遇到任何问题? 分享你的想法和问题,解决它们可能更容易。