我想降级我的数据库的所有视图和存储过程从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://technet.microsoft.com/en-us/magazine/2008.08.sqlqa.aspx
http://sankarreddy.spaces.live.com/Blog/cns!1F1B61765691B5CD!463.entry?sa=862852830
现在回到你的问题,你必须使用SSIS或其他第三方工具来编写对象和数据的脚本。 但是我不得不问你为什么要回到2000年? 你遇到任何问题? 分享你的想法和问题,解决它们可能更容易。