Mam bazę danych Mydatabase
utworzoną w SQL Server 2008 R2. Uaktualniłem do SQL Server 2012.
Próbowałem wykonać poniższe zapytanie, aby obliczyć percentyl
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
ale pojawia się komunikat o błędzie
Msg 10762, poziom 15, stan 1, wiersz 1
Funkcja PERCENTILE_CONT jest niedozwolona w bieżącym trybie zgodności. Jest to dozwolone tylko w trybie 110 lub wyższym.
- Czy mogę zmienić tryb zgodności na 110?
- Jakie są konsekwencje zmiany trybu zgodności ze 100 na 110?
Proszę o poradę
sql-server-2012
compatibility-level
siedmiodniowa żałoba
źródło
źródło
compatibility_level
wciąż ma 100 lat. Fantastycznie!Odpowiedzi:
Spójrz na następujący link:
ZMIEŃ bazę danych Poziom zgodności
Przewiń w dół, a zobaczysz sekcję „Różnice między niższymi poziomami zgodności a poziomem 110” i sprawdź, czy którykolwiek z tych elementów będzie na ciebie wpływał, czy nie. Jeśli nie, po prostu zmień poziom na 110.
źródło
Istnieje również Doradca uaktualnienia, który pomoże ci zidentyfikować cokolwiek w twoim DB, które może powodować problemy przy zmianie poziomu kompatybilności (w zasadzie półautomatyczny sposób robienia tego, co sugerował @steoleary, co zmniejsza szanse na utratę czegoś).
źródło
Microsoft Data Migration Assistant pomaga szybko i łatwo znaleźć wszelkie problemy, które mogą uniemożliwić lub skomplikować aktualizację.
Jeśli nie znajdzie problemów (lub jeśli tak, a problem został rozwiązany), możesz po prostu zaktualizować, uruchamiając te polecenia, pojedynczo:
źródło