sql-server-2008 - SQL Server 兼容级别含义

标签 sql-server-2008 sql-server-2005 compatibility

一个快速信息问题:

在我的 SQL Server 2008 上,我有从 SQL Server 2005 迁移的数据库,并且 SQL Server 2008 上数据库的兼容性级别设置为 90 (SQL Server 2005)。

这究竟意味着什么?

这意味着迁移的存储过程、触发器和函数将在 SQL Server 2008 上运行良好,但是有什么缺点吗?

将兼容级别设置为 100 的原因可能是什么? (SQL Server 2008)?

性能?额外功能?

谢谢

最佳答案

兼容模式可帮助人们迁移具有不再与较新版本 SQL 兼容的功能的应用程序。如果您的应用程序需要 sql 2008 不再支持的功能,您可能希望在兼容模式下运行它们;否则你想使用当前的 sql 模式。我们的业务运行一个应用程序,由于它连接到数据库的方式需要 SQL 2000 兼容模式;但它运行在 SQL 2012 服务器上。

代码中的特定功能可能会影响性能,因为所需的逻辑不同,而不是执行具体不同。作为一个非常通用的规则,针对 2012、2008 年函数优化的 SQL 代码将比 SQL 2000 或 SQL 7 更快,因为它们添加了 CTE 和 un/pivot 等内容,这两者都允许简化编码。

关于sql-server-2008 - SQL Server 兼容级别含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606488/

相关文章:

sql-server - 如何使用唯一标识复制表 SQL Server 2008 中的所有值

sql - 如何在 SQL SERVER 2005 中使用递归表值函数

iphone - 适用于iPhone应用程序的iOS 3.0+兼容性

c++ - 从常规 C++ 代码调用 CUDA 代码——整理出 extern "C"

java - 如果我尝试在 jdk6 上使用我用 jdk7 编写的类,是否会遇到问题?

sql-server-2005 - 选择 SQL Server 2008 而不是 2005 有哪些令人信服的理由?

sql-server-2008 - 删除触发器后如何获取 child 的父ID?

SQL 将表数据修改为更紧凑的形式

sql-server-2005 - Access SQL 副本

sql-server - SQL Server ORDER BY 日期和最后的空值