
[英]Does SQL Server database compatibility level negate SQL Server version compatibility
[英]Compatibility level for SQL Server database
我的数据库托管服务器允许恢复兼容级别为90的SQL Server数据库(SQL Server 2005)。 我的数据库是在本地创建的,兼容级别为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中使用此脚本转换数据库兼容级别,备份我的数据库并还原到我的数据库托管服务器。 但它不起作用。 我想知道为什么? 有没有更好的方法来解决它?
您永远不能将数据库从较新版本的SQL Server(如2008版本)还原到较旧的SQL Server(2005)实例。
无论你尝试什么,没有技巧,没有黑客,没有解决方法 - 它只是无法完成 。
兼容级别也没有任何区别。 它只是使您的新数据库(如2008年)表现得像旧的数据库(如2005) - 因此您可以使用的功能仅限于旧数据库支持的功能。
但在内部 - 它仍然是一个2008数据库 ,它无法恢复到2005年的实例。
你不能更好地回到sql server的版本兼容性来完成脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.