SQL Server兼容性级别的含义

Eng*_*der 13 compatibility sql-server-2005 sql-server-2008

一个快速的信息问题:

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

具体含义到底是什么?

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

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

性能?额外功能?

感谢名单

u07*_*7ch 8

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

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