У меня есть база данных, Mydatabase
созданная в SQL Server 2008 R2. Я обновился до SQL Server 2012.
Я пытался выполнить запрос ниже, чтобы рассчитать процентиль
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
но я получаю сообщение о том, что
Сообщение 10762, уровень 15, состояние 1, строка 1
Функция PERCENTILE_CONT не разрешена в текущем режиме совместимости. Это разрешено только в режиме 110 или выше.
- Могу ли я изменить режим совместимости на 110?
- Каковы последствия изменения режима совместимости со 100 на 110?
Пожалуйста посоветуй
compatibility_level
все еще 100. Фантастика!Ответы:
Посмотрите на следующую ссылку:
Уровень совместимости ALTER DATABASE
Прокрутите вниз, и вы увидите раздел «Различия между более низкими уровнями совместимости и уровнем 110» и определите, повлияет ли какой-либо из этих пунктов на вас или нет. Если нет, то просто измените уровень на 110.
источник
Существует также помощник по обновлению, который поможет вам определить что-либо в вашей БД, что может вызвать проблемы при изменении уровня совместимости (в основном это полуавтоматический способ сделать то, что предложил @steoleary, который уменьшает вероятность того, что вы что-то пропустили).
источник
Microsoft Data Migration Assistant поможет вам быстро и легко найти любые проблемы, которые могут помешать или усложнить обновление.
Если он не находит проблем (или если он есть, и вы их устраняли), вы можете просто обновить, выполнив эти команды, по одной:
источник