Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 当我们在兼容模式80下运行SQLServer2008R2时,我们获得了哪些功能?_Sql Server_Sql Server 2008 R2_Sql Server 2000_Compatibility Mode_Dmv - Fatal编程技术网

Sql server 当我们在兼容模式80下运行SQLServer2008R2时,我们获得了哪些功能?

Sql server 当我们在兼容模式80下运行SQLServer2008R2时,我们获得了哪些功能?,sql-server,sql-server-2008-r2,sql-server-2000,compatibility-mode,dmv,Sql Server,Sql Server 2008 R2,Sql Server 2000,Compatibility Mode,Dmv,我们有SQL Server 2008 R2在兼容模式80(2000)下运行,因为我们使用了许多已停止使用的功能。起初我以为我只能使用2000的功能,但令人惊喜的是,我展示了CTE的工作,我认为这是超集案例。我们可以访问2000、2005、2008和R2的所有功能,但最近我在玩DMV/DMF时,尝试将sql\u句柄传递给sys.dm\u exec\u sql\u text,但没有成功。一点Google/hit-and-run告诉我,我需要改变兼容性模式,因为这在80兼容模式下不起作用。那么,当我们

我们有SQL Server 2008 R2在兼容模式80(2000)下运行,因为我们使用了许多已停止使用的功能。起初我以为我只能使用2000的功能,但令人惊喜的是,我展示了CTE的工作,我认为这是超集案例。我们可以访问2000、2005、2008和R2的所有功能,但最近我在玩DMV/DMF时,尝试将sql\u句柄传递给sys.dm\u exec\u sql\u text,但没有成功。一点Google/hit-and-run告诉我,我需要改变兼容性模式,因为这在80兼容模式下不起作用。那么,当我们在兼容模式80(2000)中使用2008 r2时,我们可以访问哪些功能呢


此兼容模式是否也适用于SSI

从评论中,我意识到这是部分向后兼容,因此在我的场景中,我获得了2000年的所有功能和2008年的一些功能。

在给定的兼容模式下工作的确切语言功能集取决于托管服务器级别。例如,在SQL Server 2005上运行的数据库的兼容性级别80可能与在SS 2008R2上运行的同一级别数据库存在一些差异

基础查询计划器和数据库引擎的其他方面不会因更改兼容性级别而改变,但某些未记录的默认情况可能会表现出不同的行为。例如,尽管这是一个错误的选择,但一些开发人员依赖于SQL Server 2000数据库中的默认行顺序,但该默认行顺序(未记录)在2005年的某些情况下发生了更改,导致该数据库在2005年以兼容模式80运行时出现问题。当然,取决于默认顺序是一个巨大的禁忌,但这是一个底层引擎改变的例子,而实际执行的代码没有改变

您需要完全回答的是,对于每个版本的SQL Server,列出它在兼容模式下支持的所有后台版本,对于该SQL Server版本支持的每个级别,列出该兼容级别中支持的所有语言功能和不允许的所有语言功能的完整列表(在以后的级别中可能允许),在特定级别的服务器上


虽然我发现了一些在较低级别上允许使用更高功能的示例(比如2008R2允许在compatibility 80数据库中使用throw/catch),但我还没有发现任何接近最终列表的功能,这将是有帮助的

SQL Server未在兼容模式下运行。服务器上的用户数据库可能在不同的兼容模式下运行。@Damien_the_unsiver谢谢:)我注意到它是DB级别而不是服务器级别设置。在兼容度较低的数据库上,哪些功能可用,哪些功能不可用?提供了关于每个兼容级别行为的大量详细信息,它是否回答了您的问题?请注意,它提到兼容性是“部分”的,只应作为临时迁移解决方案使用,因此它可能在各个方面都不一致。SSIS不是一个数据库,所以它没有兼容级别。感谢@Pondlife,我之前没有注意到文档中的“部分”,现在我得到了它!