SQL Server 2000数据库可以在SQL Server 2005/2008上托pipe吗?

我有一个SQL Server 2000数据库备份,但我没有安装SQL Server 2000。 我有SQL Server 2005安装。 我不想安装多个数据库服务器软件。 在SQL Server 2005或SQL Server 2008中是否有可能从较小的系统托pipe数据库? 即在2005年托pipe2000年的数据库?

在SQL 2005(可能是2008)中有一个兼容模式,可以让你运行你的2k数据库 – 我们在生产中这样做是稳定的。 我不相信开发者在使用兼容模式时迁移到2k5时有任何问题。 MS Linky

是。

这很好。 我做了很多次。

您可以将SQL 2000文件还原到SQL 2005和2008,也可以直接附加SQL 2000 db文件。 升级数据库版本是可选的,只有当你需要使用更新的TSQL等对数据库时才需要。

如果有问题的数据库是SQL 2000级别,您甚至可以针对SQL 2008运行dblib客户端….

这是不可能的。 每个引擎仅支持其自己的数据库格式,并且格式从版本更改为版本。 这意味着SQL Server 2005 SP1将不能“托pipe”版本SQL Server 2005 RTM的数据库,也不能一个SQL Server 2005 SP2。

但是可以升级备份或现有的格式。 引擎将知道如何从版本升级到SQL 7或SQL 2000,以及它的当前格式。 因此,您可以在SQL 2005上还原SQL 2000备份,但是此操作会将以前的2000数据库升级到2005格式。 一旦升级,数据库永远不会降级。 因此,如果将数据库附加到SQL 2008,那么升级到SQL 2005的格式将无法再理解,并且不可能将其降级。

我希望这可以清楚地表明,托pipe早期版本的数据库和在“兼容模式”下运行当前版本是有区别的。 在SQL 2005上打开SQL 2000数据库并将兼容模式设置为80时, 升级已经发生,并且该数据库永远不可能再次在SQL 2000中使用。

只有某些function被需要较早操作模式的应用程序所使用时,才需要“兼容模式”,而兼容模式则严格意味着早期版本中存在的function。 例如,一个数据库是兼容模式80,仍然会有SQL 2005特定的视图,如“sys.tables”。

更新

尽pipe风吹草动,但我的发言仍然是正确的。