Eu 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 afirmando que
Msg 10762, Nível 15, Estado 1, Linha 1
A função PERCENTILE_CONT não é permitida no modo de compatibilidade atual. Só é permitido no modo 110 ou superior.
- Posso mudar o modo de compatibilidade para 110?
- Quais são as implicações da alteração do modo de compatibilidade de 100 para 110?
Conselho por favor
compatibility_level
ainda tenho 100 anos. Fantástico!Respostas:
Dê uma olhada no seguinte link:
Nível de compatibilidade ALTER DATABASE
Role para baixo e você verá a seção "Diferenças entre níveis mais baixos de compatibilidade e nível 110" e identifique se algum desses itens o afetará ou não. Caso contrário, basta alterar o nível para 110.
fonte
Há também o Supervisor de atualização que o ajudará a identificar qualquer coisa no seu banco de dados que possa causar problemas ao alterar o nível de compatibilidade (basicamente, uma maneira semi-automática de fazer o que o @steoleary sugeriu, o que reduz as chances de você perder alguma coisa).
fonte
O Assistente de Migração de Dados da Microsoft ajuda a encontrar rápida e facilmente quaisquer problemas que possam impedir ou complicar uma atualização.
Se não encontrar problemas (ou se houver, e você os tiver solucionado), você pode simplesmente atualizar executando estes comandos, um de cada vez:
fonte