Tenho um banco de dados Mydatabase
criado no SQL Server 2008 R2. Eu atualizei para o SQL Server 2012.
Eu estava tentando executar a consulta abaixo para calcular o 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
mas estou recebendo um erro informando que
Msg 10762, Level 15, State 1, Line 1
A função PERCENTILE_CONT não é permitida no modo de compatibilidade atual. Só é permitido no modo 110 ou superior.
- Posso alterar o modo de compatibilidade para 110?
- Quais são as implicações de alterar o modo de compatibilidade de 100 para 110?
Conselho por favor
Dê uma olhada no link a seguir:
Nível de compatibilidade ALTER DATABASE
Role para baixo e você verá a seção "Diferenças entre os níveis de compatibilidade inferiores e o nível 110" e identifique se algum desses itens afetará você ou não. Caso contrário, basta alterar o nível para 110.
O Assistente de Migração de Dados da Microsoft ajuda você a encontrar de forma rápida e fácil quaisquer problemas que possam impedir ou complicar uma atualização.
Se não encontrar problemas (ou se encontrar, e você os tiver resolvido), você pode simplesmente atualizar executando estes comandos, um de cada vez:
Há também o Upgrade Advisor que o ajudará a identificar qualquer coisa em seu banco de dados que possa causar problemas ao alterar o nível de compatibilidade (basicamente uma maneira semiautomática de fazer o que @steoleary sugeriu, o que reduz as chances de você perder alguma coisa).