Уровень совместимости многомерной базы данных (службы Analysis Services)
Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
В SQL Server Analysis Services свойство уровня совместимости базы данных определяет функциональный уровень базы данных. Уровень совместимости уникален для каждого типа модели. Например, для многомерной и табличной баз данных уровень совместимости 1100 имеет разное значение.
Этот раздел описывает уровень совместимости только для многомерных баз данных. Дополнительные сведения о табличных решениях см. в разделе Уровень совместимости табличных моделей в службах Analysis Services.
Примечание
Табличные модели имеют дополнительные уровни совместимости базы данных, неприменимые к многомерным моделям. Для многомерных моделей уровень совместимости 1103 не существует. См. раздел What is new for the Tabular model in SQL Server 2012 SP1 and compatibility level (Новые возможности табличных моделей в SQL Server 2012 с пакетом обновления 1 (SP1) и уровень совместимости), где приведены дополнительные сведения о 1103 для табличных решений.
Уровень совместимости для многомерных баз данных
В настоящее время единственной особенностью многомерных баз данных, зависящей от функционального уровня, является архитектура хранилища строк. Поднимая уровень совместимости базы данных, можно переопределить максимальный предел в 4 ГБ для хранилища строк с мерами и измерениями.
Для многомерной базы данных допустимы следующие значения для свойства CompatibilityLevel :
Параметр | Описание |
---|---|
1050 | Это значение не отображается в скрипте или средствах, но соответствует базам данных, созданным в SQL Server 2005 (9.x), SQL Server 2008 или SQL Server 2008 R2. Любая база данных, в которой значение CompatibilityLevel явным образом не задано, неявно работает на уровне 1050 . |
1100 | Это значение по умолчанию для новых баз данных, создаваемых в SQL Server 2012 (11.x) или SQL Server 2017. Вы также можете указать его для баз данных, созданных в более ранних версиях SQL Server Analysis Services, чтобы обеспечить использование функций, поддерживаемых только на этом уровне совместимости (а именно, увеличение хранилища строк для атрибутов измерения или уникальных мер счетчика, содержащих строковые данные). Базы данных, для которых CompatibilityLevel имеет значение 1100 , получают дополнительное свойство, StringStoresCompatibilityLevel. Оно позволяет выбрать другое хранилище строк для измерений и секций. |
Предупреждение
Повышение уровня совместимости базы данных необратимо. После повышения уровня совместимости до 1100работу с базой данных необходимо продолжать на более новых серверах. Выполнить откат до уровня 1050нельзя. Невозможно подключить или восстановить базу данных 1100 на сервере версии, более ранней, чем SQL Server 2012 (11.x) или SQL Server 2017.
Предварительные требования
Уровни совместимости баз данных появились в SQL Server 2012 (11.x). Для просмотра или задания уровня совместимости базы данных необходимо иметь SQL Server 2012 (11.x) SQL Server Analysis Services или более поздней версии.
База данных не может быть локальным кубом. Локальные кубы не поддерживают свойство CompatibilityLevel .
База данных должна быть создана в предыдущем выпуске (SQL Server 2008 R2 или более ранней версии), а затем присоединена или восстановлена на сервере SQL Server 2012 (11.x)SQL Server Analysis Services или более поздней версии. Базы данных, развернутые в SQL Server 2012, уже на уровне 1100 и не могут быть понижены для выполнения на более низком уровне.
Определите существующий уровень совместимости базы данных для многомерной базы данных
Существует только один способ просмотреть или изменить уровень совместимости базы данных — посредством XMLA. Можно просмотреть или изменить скрипт XML для аналитики, указывающий базу данных в SQL Server Management Studio.
Если поиск определения XMLA базы данных на наличие свойства CompatibilityLevel показывает, что последнее не существует, вероятнее всего, база данных находится на уровне 1050 .
Инструкции по просмотру и изменению скрипта XMLA даны в следующем разделе.
Установка уровня совместимости базы данных в среде SQL Server Management Studio
Прежде чем повысить уровень совместимости, сделайте резервную копию базы данных на тот случай, если потребуется отменить изменения позже.
С помощью SQL Server Management Studio подключитесь к серверу SQL Server 2017SQL Server Analysis Services, на котором размещена база данных.
Щелкните правой кнопкой мыши имя базы данных, наведите указатель на команду Создать скрипт для базы данных, затем на команду Используя ALTERи выберите В новом окне редактора запросов. В новом окне откроется XMLA-представление базы данных.
Скопируйте следующий XML-элемент:
<ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
Вставьте его после закрывающего элемента
</Annotations>
, но перед элементом<Language>
. Код XML должен выглядеть, как в следующем примере:</Annotations> <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel> <Language>1033</Language>
Сохраните файл.
Чтобы выполнить скрипт, выберите пункт Выполнить в меню "Запрос" или нажмите клавишу F5.
Поддерживаемые операции, требующие такого же уровня совместимости
Следующие операции требуют, чтобы у баз данных-источников был одинаковый уровень совместимости.
Слияние секций разных баз данных поддерживается, только если обе базы данных имеют одинаковый уровень совместимости.
Использование связанных измерений из другой базы данных требует одинакового уровня совместимости. Например, если вы хотите использовать связанное измерение из базы данных SQL Server 2008 R2 в базе данных SQL Server 2012 (11.x), необходимо перенести базу данных SQL Server 2008 R2 на сервер SQL Server 2012 (11.x) и установить уровень совместимости 1100.
Синхронизация серверов поддерживается только для серверов с одинаковой версией и уровнем совместимости баз данных.
Next Steps
После повышения уровня совместимости базы данных можно задать свойство StringStoresCompatibilityLevel в SQL Server Data Tools. Это увеличит строковое хранилище для измерений и мер. Дополнительные сведения об этой функции см. в разделе Настройка хранилища строк для измерений и секций.
См. также:
Резервное копирование, восстановление и синхронизация баз данных (XMLA)