繁体   English   中英

SQL Server数据库的兼容级别

[英]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的版本兼容性来完成脚本。

  1. 建立一个新的数据库
  2. 导入新数据库中的表
  3. 然后生成过程和函数的脚本,并在新数据库上运行此脚本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM