3

我的数据库主机允许恢复兼容级别为 90 (SQL Server 2005) 的 SQL Server 数据库。我的数据库是本地创建的,兼容级别为 100 (SQL Server 2008)。

因此,我生成了我的数据库(版本 2008)的脚本并在 SQL Server 2005 中运行,备份和恢复到我的数据库主机,它可以工作。目前我很喜欢它。

然后我发现ALTER DATABASE可以改变数据库喜欢的兼容性级别

ALTER DATABASE database_name 
SET COMPATIBILITY_LEVEL = { 90 | 100 | 110 }

 90 = SQL Server 2005
 100 = SQL Server 2008 and SQL Server 2008 R2
 110 = SQL Server 2012

我在 SQL Server 2008 中使用此脚本将我的数据库兼容性级别,备份我的数据库并恢复到我的数据库主机。但它不起作用。我想知道为什么?有没有更好的方法来解决它?

4

3 回答 3

10

永远不能将数据库从较新版本的 SQL Server(如2008版本)还原到较旧的 SQL Server (2005) 实例。

无论您尝试什么,没有技巧,没有破解,没有解决方法 - 就是无法完成

兼容性级别也没有任何区别。它只是让您的较新数据库(如 2008 年)表现得好像它是旧数据库(如 2005 年) - 所以您可以使用的功能仅限于旧数据库支持的功能。

但在内部 - 它仍然是2008 年的数据库无法恢复到 2005 年的实例。

于 2013-06-26T11:35:28.523 回答
3

你不能通过脚本更好地回到 sql server 的版本兼容性。

于 2013-06-26T11:23:55.837 回答
1
  1. 新建一个数据库
  2. 导入新数据库中的表
  3. 然后生成过程和函数的脚本并在新数据库上运行此脚本
于 2014-03-13T16:20:29.043 回答