Tengo una base de datos Mydatabase
creada en SQL Server 2008 R2. He actualizado a SQL Server 2012.
Estaba tratando de ejecutar la consulta a continuación para calcular el percentil
select Distinct [KEY],PERCENTILE_CONT(0.25) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q1,PERCENTILE_CONT(0.50) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q2,
PERCENTILE_CONT(0.75) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q3,
PERCENTILE_CONT(1) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q4
from Mydatabase
pero recibo un error que indica que
Mensaje 10762, Nivel 15, Estado 1, Línea 1
La función PERCENTILE_CONT no está permitida en el modo de compatibilidad actual. Solo está permitido en el modo 110 o superior.
- ¿Puedo cambiar el modo de compatibilidad a 110?
- ¿Cuáles son las implicaciones de cambiar el modo de compatibilidad de 100 a 110?
Por favor aconséjame
compatibility_level
todavía estoy en 100. ¡Fantástico!Respuestas:
Echa un vistazo al siguiente enlace:
ALTERAR BASE DE DATOS Nivel de compatibilidad
Desplácese hacia abajo y verá la sección "Diferencias entre los niveles de compatibilidad más bajos y el nivel 110" e identifique si alguno de estos elementos lo afectará o no. Si no, simplemente cambie el nivel a 110.
fuente
También está el Asesor de actualizaciones que lo ayudará a identificar cualquier cosa en su base de datos que pueda causar problemas al cambiar el nivel de compatibilidad (básicamente una forma semiautomática de hacer lo que @steoleary ha sugerido, lo que reduce las posibilidades de que se pierda algo).
fuente
El Asistente de migración de datos de Microsoft lo ayuda a encontrar rápida y fácilmente cualquier problema que pueda prevenir o complicar una actualización.
Si no encuentra problemas (o si los encuentra, y los ha solucionado), simplemente puede actualizar ejecutando estos comandos, uno a la vez:
fuente