Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SQL Server兼容性级别含义_Sql Server 2008_Sql Server 2005_Compatibility - Fatal编程技术网

Sql server 2008 SQL Server兼容性级别含义

Sql server 2008 SQL Server兼容性级别含义,sql-server-2008,sql-server-2005,compatibility,Sql Server 2008,Sql Server 2005,Compatibility,快速信息问题: 在我的SQL Server 2008上,我已从SQL Server 2005迁移了数据库,并且SQL Server 2008上数据库的兼容性级别设置为90(SQL Server 2005) 这究竟意味着什么 这意味着迁移的存储过程、触发器和函数将在SQLServer2008上运行良好,但有任何缺点吗 将兼容性级别设置为100(SQL Server 2008)的原因是什么 表演?额外功能 Thanx兼容模式用于帮助人们迁移那些功能不再与较新版本的SQL兼容的应用程序。如果您有需要s

快速信息问题:

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

这究竟意味着什么

这意味着迁移的存储过程、触发器和函数将在SQLServer2008上运行良好,但有任何缺点吗

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

表演?额外功能


Thanx

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


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

除了无法使用任何新功能之外,这些新功能包括作为查询优化器改进的幕后功能(在SQL Server 2014中),保持兼容模式会使将来的升级更加困难。
MSDN有一个版本间不同的列表

永远不要认为备份数据库并将其还原到较新的实例是迁移数据库所需的全部。这是许多隐藏的和意外的应用程序错误的原因。如果您的应用程序在数据库还原后出现错误,请查看其兼容性级别。如果它有ged,这可能是原因。 更改兼容性级别的行为告诉数据库更改其功能集。也就是说,将添加一些功能,但同时删除一些旧功能。例如,在兼容性级别100的INSERT和SELECT INTO语句中不允许使用For BROWSE子句,但在兼容性级别允许使用For BROWSE子句,但忽略它因此,如果您的应用程序使用此功能,此更改可能会引入意外的结果

这可以提供大量有关兼容性级别、优缺点的信息,以及大量最佳做法。

可能重复的