Страница 1 из 1

Установка compatibility_level = 100 в MS SQL Server 2008 R2

Добавлено: 04 дек 2014, 09:04
zna
Добрый день, уважаемые. Ситуация:
Строю запрос в MS SQL Studio к базе "Галактики", в котором нужно использовать полезные OLAP- предложения cube и rollup. Для базы определено понятие "Уровень совместимости"- это параметр "compatibility_level" http://msdn.microsoft.com/ru-ru/library/bb510680.aspx. Чтобы предложения cube и rollup были допустимыми, уровень совместимости должен быть = 100, а по умолчанию при развёртывании базы инсталлятором "Галактики" он устанавливается = 90, а для этого уровня cube и rollup не прокатывают:

Код: Выделить всё

Сообщение 10707, уровень 15, состояние 1, строка 10
Конструкции группирования CUBE() и ROLLUP() недопустимы в текущем режиме совместимости.  Они допускаются только в режиме 100 и выше.
Отличия в базах для этих уровней существенные (приведены в статье по указанной ссылке), и выполнить инструкцию ALTER DATABASE grmks SET COMPATIBILITY_LEVEL = 100 в рабочей базе я побаиваюсь.
Вопрос: кто- нибудь устанавливал уровень 100 в своей базе и насколько это безопасно/ обратимо?
Один из вариантов решения- сделать уровень 100 в какой-нибудь тестовой базе рядом с рабочей, а таблицы рабочей базы доставать через ссылку, но хочется всё иметь в одном месте- так проще администрировать.

Re: Установка compatibility_level = 100 в MS SQL Server 2008

Добавлено: 04 дек 2014, 12:25
Masygreen
а это не версия ли SQL )

Re: Установка compatibility_level = 100 в MS SQL Server 2008

Добавлено: 04 дек 2014, 13:37
zna
MS SQL 2008 R2 позволяем с разным уровнем совместимости работать. Сейчас вот для тестовой базы установил 100 и через неё работаю