Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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 SQL Server 2008 R2中支持的偏移量获取子句?_Sql Server_Sql Server 2008 R2_Sql Server 2012 - Fatal编程技术网

Sql server SQL Server 2008 R2中支持的偏移量获取子句?

Sql server SQL Server 2008 R2中支持的偏移量获取子句?,sql-server,sql-server-2008-r2,sql-server-2012,Sql Server,Sql Server 2008 R2,Sql Server 2012,我知道SQL Server 2012中引入了偏移量获取子句。我已经安装了SQL Server 2012,并创建了一个具有兼容级别(SQL Server 2008)的数据库 然后我尝试了这个查询: SELECT * FROM sys.objects ORDER BY name OFFSET 10 ROWS FETCH NEXT 20 ROWS ONLY 上面的查询返回20行。在SQL Server 2008 R2中,OFFSET FETCH子句如何工作 我也尝试过使

我知道SQL Server 2012中引入了偏移量获取子句。我已经安装了SQL Server 2012,并创建了一个具有兼容级别(SQL Server 2008)的数据库

然后我尝试了这个查询:

SELECT * 
FROM sys.objects 
ORDER BY name 
      OFFSET 10 ROWS
      FETCH NEXT 20 ROWS ONLY
上面的查询返回20行。在SQL Server 2008 R2中,
OFFSET FETCH子句如何工作

我也尝试过使用SQLfiddle,选择了
sqlserver2008
,它在那里也可以工作


我在网上浏览了一下,但到目前为止还没有找到任何解决办法。这是因为2012年的情况吗?是否有办法使2012实例数据库仅执行SQL Server 2008查询?(通过任何其他设置,如果有的话)

您使用的是从SQL Server 2008 R2获取的备份数据库,但您当前的服务器是SQL Server 2012

由于与2008兼容,2012年提供的功能也可用于您的数据库


注意:数据库备份没有向后兼容性,即SQL Server 2012中的数据库备份无法在SQL Server 2008中还原。

否。我没有使用任何备份。我创建了一个新数据库,兼容级别设置为SQL Server 2008。如果我将兼容性设置为某个版本,它应该只支持该特定版本的查询。我是rite吗?@GSerg:所以我需要将兼容性设置为SQL Server 2000(80)。因此,只有SQL Server 2008版本相关的查询才会执行。我是rite吗?SQL Server 2012不再支持兼容级别80(SQL Server 2000)不,您不是rite@knkarthick24。链接问题的要点是,
兼容性级别仅提供部分向后兼容性
新功能可能在较旧的兼容性级别下工作
。感谢@marc_s提及上述要点。感谢GSerg对我的澄清所作的详细解释。是否有办法使2012实例数据库仅执行SQL Server 2008查询?(通过任何其他设置)