Entendí que establecer una base de datos en un COMPATIBILITY_LEVEL anterior a su versión original impedía el uso de características. Sin embargo, este no parece ser el caso. Sea testigo de la siguiente secuencia de comandos SQL:Comprender COMPATIBILITY_LEVEL en SQL Server
CREATE DATABASE Foo
GO
USE Foo
GO
ALTER DATABASE Foo SET COMPATIBILITY_LEVEL = 80
GO
CREATE TABLE Bar
(
Id UNIQUEIDENTIFIER NOT NULL,
TestNvcMax NVARCHAR (MAX) NOT NULL, -- Arrived in SQL 2005
TestDateTime2 DATETIME2 (7) NOT NULL -- Arrived in SQL 2008
)
GO
Pero esta tabla crea perfectamente, ¿alguna idea? Yo hubiera pensado algún tipo de mensaje de error o advertencia habría sido apropiado
Se produce el mismo fenómeno con la sintaxis 'select ... offset ... fetch' que corre bien bajo un nivel de compatibilidad 100 (2008) en SQL Server 2012, mientras que esto se introdujo en 2012. Realmente estaba teniendo problemas suposiciones sobre qué hace el nivel de compatibilidad. –