Наслідки зміни режиму сумісності в SQL Server від 100 до 110


17

У мене є база даних, 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 або вище.

  1. Чи можна змінити режим сумісності на 110?
  2. Які наслідки зміни режиму сумісності з 100 на 110?

Будь ласка, порадь


OMFG! "SQL Server 2014 включає значні вдосконалення компонента, який створює та оптимізує плани запитів." Але я не користувався цим взагалі протягом останніх 3 років, тому що мій compatibility_levelще на 100. Фантастичний!
Simon_Weaver

Відповіді:


9

Перегляньте наступне посилання:

АЛЬТЕР ДАТАБАЗА Рівень сумісності

Прокрутіть униз, і ви побачите розділ «Відмінності між нижчими рівнями сумісності та рівнем 110» та визначте, чи вплине будь-який із цих елементів на вас чи ні. Якщо ні, то просто змініть рівень на 110.


3
Це займе години. Зараз є інструмент, який робить це для вас зараз: Помічник з міграції даних
MGOwen

5

Є також Advisor Upgrade Advisor, який допоможе вам визначити що-небудь у вашій БД, що може спричинити проблеми при зміні рівня сумісності (в основному, напівавтоматизований спосіб робити те, що запропонував @steoleary, що знижує шанси на те, що ви пропустите що-небудь).


Асистент з міграції даних тепер замінив Порадника з оновлення, мабуть.
MGOwen

Так, це було для 2012 року, тому не дивно, що вони змінили назву та / або функціональність. Я досить довго не працював у циклі оновлення БД, оскільки в наші дні рідко маю багато спільного з БД - навіть не знаю, яка остання версія!
Стів Петтіфер

4

Помічник з міграції даних Microsoft допомагає швидко та легко знаходити будь-які проблеми, які можуть запобігти або ускладнити оновлення.

Якщо він не знайде жодних проблем (або якщо вони виникають, і ви вирішили їх вирішити), ви можете просто оновити, виконавши ці команди, по одній:

USE master
go
ALTER DATABASE [yourdatabasesname]  SET SINGLE_USER     WITH ROLLBACK IMMEDIATE
go
ALTER DATABASE [yourdatabasesname]  SET COMPATIBILITY_LEVEL = 110    -- 130=SQL Server 2016, 120=2014, 110=2012
go
ALTER DATABASE [yourdatabasesname]  SET MULTI_USER
go
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.