Средство проверки согласованности баз данных (DBCC) для служб Analysis Services

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

DBCC обеспечивает проверку базы данных по требованию для многомерных и табличных баз данных в экземпляре служб Analysis Services. Команду DBCC можно выполнить в окне запроса многомерных выражений или XMLA в SQL Server Management Studio (SSMS). Отслеживать выходные данные DBCC можно в сеансах SQL Server Profiler или xEvent в среде SSMS.
Команда принимает определение объекта и возвращает пустой результирующий набор или подробные сведения об ошибке, если объект поврежден. Из этой статьи вы узнаете, как выполнять команду, интерпретировать результаты и устранять возникающие проблемы.

Для табличных баз данных проверки согласованности, выполняемые DBCC, эквивалентны встроенной проверке, которая выполняется автоматически при каждой перезагрузке, синхронизации или восстановлении базы данных. Напротив, проверки согласованности для многомерных баз данных происходят только при запуске средства DBCC по требованию.

Набор выполняемых проверок зависит от режима: для табличных баз данных выполняется более широкий спектр проверок.
Характеристики нагрузки DBCC, помимо прочего, зависят от режима сервера. Проверки операций в многомерных базах данных включают чтение данных с диска и создание временных индексов для сравнения с фактическими индексами — все это занимает довольно много времени.

В синтаксисе команды DBCC используются метаданные объекта, зависящие от типа проверяемой базы данных.

  • Многомерные, а также табличные базы данных до версии SQL Server 2016 с уровнем совместимости 1100 или 1103 описаны в конструкциях многомерного моделирования, таких как cubeID, measuregroupIDи partitionID.

  • Метаданные для новых баз данных табличной модели на уровне совместимости 1200 и выше состоят из дескрипторов, таких как TableName и PartitionName.

DbCC for Analysis Services будет выполняться в любой базе данных служб Analysis Services на любом уровне совместимости, если база данных выполняется на экземпляре SQL Server 2016. Убедитесь, что вы используете правильный синтаксис команды для каждого типа базы данных.

Примечание

Если вы знакомы с DBCC (Transact-SQL), вы быстро заметите, что DBCC в службах Analysis Services имеет гораздо более узкий область. DBCC в службах Analysis Services является единственной командой, которая сообщает исключительно о повреждении данных в базе данных или отдельных объектах. Если вам требуется решить другие задачи, такие как сбор сведений, попробуйте использовать сценарии PowerShell для объектов AMO или сценарии XMLA.

Требования к разрешениям

Для выполнения команды необходимо быть администратором базы данных или сервера Analysis Services (членом роли сервера). Инструкции см. в разделах Предоставление разрешений для базы данных (службы Analysis Services) или Предоставление прав администратора сервера экземпляру служб Analysis Services .

Синтаксис команд

Табличные базы данных на уровне совместимости 1200 и выше используют табличные метаданные для определений объектов. Полный синтаксис команды DBCC для табличной базы данных, созданной на функциональном уровне SQL Server 2016, проиллюстрирован в следующем примере.

Основные различия между двумя синтаксисами включают в себя более новое пространство имен XMLA, отсутствие <элемента Object> и <элемент Model> (для каждой базы данных по-прежнему существует только одна модель).

<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2014/engine">  
     <DatabaseID>MyTabular1200DB_7811b5d8-c407-4203-8793-12e16c3d1b9b</DatabaseID>  
     <TableName>FactSales</TableName>  
     <PartitionName>FactSales 4</PartitionName>  
</DBCC>  

Можно опустить объекты более низкого уровня, такие как имена таблиц или секций, чтобы проверить всю схему.

Имена объектов и DatabaseID можно получить из среды Management Studio на странице свойств каждого объекта.

Синтаксис команды для многомерных и табличных баз данных 110x

DBCC использует идентичный синтаксис для многомерных и табличных баз данных 1100 и 1103. Команду DBCC можно выполнить для конкретных объектов базы данных, включая всю базу данных. Дополнительные сведения об определении объекта см. в разделе Object Element (XMLA).

<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
     <Object>  
          <DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID>Internet_Sales_2006</PartitionID>  
     </Object>  
</DBCC>  
  

Чтобы запустить DBCC для объектов выше по цепочке объектов, удалите все ненужные элементы идентификатора объекта нижнего уровня:

<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
     <Object>  
          <DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
     </Object>  
</DBCC>  
  

Для табличных баз данных 110x синтаксис определения объекта моделируется согласно синтаксису команды Process (в частности, порядок сопоставления таблиц с измерениями и группами мер).

  • CubeID сопоставляется с идентификатором модели, то есть Model.

  • MeasureGroupID сопоставляется с идентификатором таблицы.

  • PartitionID сопоставляется с идентификатором секции.

Использование

В SQL Server Management Studio команду DBCC можно вызвать через окно запроса многомерных выражений или XMLA. Кроме того, для просмотра выходных данных DBCC можно использовать SQL Server Profiler 2017 или analysis Services xEvents. Обратите внимание, что сообщения DBCC служб SSAS не выводятся в журнал событий приложений Windows или в файл msmdsrv.log.

DBCC выполняет проверку физического, а также логического повреждения данных, которые возникают, если в сегменте присутствуют потерянные элементы. Базу данных необходимо обработать перед выполнением команды DBCC. Она пропускает удаленные, пустые и необработанные секции.

Команда выполняется в транзакции чтения и, таким образом, может быть прекращена по истечении времени ожидания принудительной фиксации. Проверка секций выполняется параллельно.

Для регистрации ошибок, связанных с повреждением данных, произошедших с момента последнего перезапуска службы, может потребоваться перезапуск службы. Повторного подключения к серверу недостаточно для регистрации изменений.

Запуск команды DBCC в Management Studio

Для нерегламентированных запросов откройте окно запросов многомерных выражений или XMLA в SQL Server Management Studio. Для этого щелкните правой кнопкой мыши базу данных | Новый запрос | XMLA) для выполнения команды и чтения выходных данных.

Команда DBCC XML в Среде Management Studio

На вкладке "Результаты" будет указан пустой результирующий набор (как показано на снимке экрана), если проблемы не обнаружены.

На вкладке "Сообщения" содержатся подробные сведения, но они не всегда достоверны для небольших баз данных. Сообщения о состоянии иногда усекаются. Это означает, что команда выполнена, однако сообщений о проверке состояния для каждого объекта нет. Обычное сообщение может выглядеть примерно следующим образом.

Сообщения в отчете команды DBCC по проверке куба

Executing the query ...  
READS, 0  
READ_KB, 0  
WRITES, 0  
WRITE_KB, 0  
CPU_TIME_MS, 0  
ROWS_SCANNED, 0  
ROWS_RETURNED, 0  
  
<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
<Object>  
<DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>  
<CubeID>Adventure Works</CubeID>  
</Object>  
</DBCC>  
Started checking segment indexes for the 'Internet_Sales_2011' partition.  
Started checking segment indexes for the 'Internet_Sales_2012' partition.  
Finished checking segment indexes for the 'Internet_Sales_2011' partition.  
Started checking segment indexes for the 'Internet_Sales_2013' partition.  
Finished checking segment indexes for the 'Internet_Sales_2012' partition.  
Started checking segment indexes for the 'Internet_Sales_2014' partition.  
Started checking segment indexes for the 'Internet_Orders_2011' partition.  
Finished checking segment indexes for the 'Internet_Sales_2014' partition.  
Started checking segment indexes for the 'Internet_Orders_2012' partition.  
Started checking segment indexes for the 'Internet_Orders_2013' partition.  
Finished checking segment indexes for the 'Internet_Orders_2012' partition.  
...   
Run complete  
  

Выходные данные при выполнении команды DBCC для более ранней версии служб Analysis Services

DBCC поддерживается только в базах данных, работающих в экземпляре SQL Server 2017. При выполнении команды в старых системах будет возвращаться эта ошибка.

Executing the query ...  
The DBCC element at line 7, column 87 (namespace http://schemas.microsoft.com/analysisservices/2003/engine) cannot appear under Envelope/Body/Execute/Command.  
Execution complete  
  

Трассировка выходных данных DBCC в SQL Server Profiler

Выходные данные DBCC можно просматривать в трассировке SQL Server Profiler, включающей события отчетов о состоянии ("Начало отчета о состоянии", "Текущее состояние отчета о состоянии", "Окончание отчета о состоянии" и "Ошибка отчета о состоянии").

  1. Запустите трассировку. Справочные сведения об использовании SQL Server Profiler со службами Analysis Services см. в разделе Use SQL Server Profiler to Monitor Analysis Services .

  2. Выберите Command Begin и Окончание команды , а также все события отчета о состоянии .

  3. Выполните команду DBCC в окне запроса многомерных выражений или XMLA в Management Studio, используя синтаксис, приведенный в предыдущем разделе.

  4. В SQL Server Profiler действия DBCC можно идентифицировать по событиям Command , имеющим подкласс событий DBCC:

    Снимок экрана: результаты SQL Server Analysis Services профилировщика DBCC EventSubclass.

    Код события 32 указывает на выполнение команды DBCC.

    Код события 64 — отчет о состоянии команды DBCC для отдельных объектов.

    Код события 63 — проверка сегмента для многомерных объектов.

    В обоих подклассах событий проверьте значения в полях TextData — это сообщения, возвращаемые DBCC.

    Сообщения о состоянии начинаются с "Проверка согласованности <объекта>", "Начата проверка <объекта>" или "Завершена проверка <объекта>".

    Примечание

    В CTP-версии 3.0 объекты идентифицируются по внутренним именам. Например, иерархия категорий выражается как H$Categories-objectID<>. Внутренние имена предполагается заменить понятными именами в следующей CTP-версии.

    Сообщения об ошибках перечислены ниже.

Отслеживание выходных данных DBCC в сеансе xEvent в SSMS

Сеансы расширенных событий могут использовать события профилировщика или события xEvent. Инструкции по добавлению событий Command и Progress Report см. в предыдущем разделе.

  1. Запустите сеанс, щелкнув правой кнопкой мыши базу данныхУправление расширенными>событиями>>Сеансы>Новый сеанс. Дополнительные сведения см. в статье Мониторинг служб Analysis Services с SQL Server расширенными событиями.

  2. Выберите любые или все события Отчет о состоянии для категории событий профилировщика или события RequestProgress для категории PureXevent.

  3. Выполните команду DBCC в окне запроса многомерных выражений или XMLA в Management Studio, используя синтаксис, приведенный в предыдущем разделе.

  4. В SSMS обновите папку "Сеансы". Щелкните правой кнопкой мыши имя > сеанса Просмотр динамических данных.

  5. Просмотрите значения TextData; в этих полях отображаются сообщения, возвращаемые DBCC. TextData — это свойство поля события, в котором выводятся сообщения о состоянии и ошибках, возвращенных событием.

    Сообщения о состоянии начинаются с "Проверка согласованности <объекта>", "Начата проверка <объекта>" или "Завершена проверка <объекта>".

    Сообщения об ошибках перечислены ниже.

Справочник. Проверки согласованности и ошибок для многомерных баз данных

Для многомерных баз данных проверяются только индексы секций. Во время выполнения команда DBCC формирует временный индекс для каждой секции и сравнивает его с индексом, хранимым на диске. Для построения временного индекса требуется считать все данные из секции на диске и сохранить их во временном индексе в памяти для сравнения. Учитывая дополнительную нагрузку, при выполнении команды DBCC сервер может испытывать значительный рост операций дискового ввода-вывода и потребления памяти.

Обнаружение повреждения индекса многомерной базы данных включает следующие проверки. Ошибки в этой таблице отображаются в трассировках xEvent и SQL Server Profiler для сбоев на уровне объектов.

Объект Описание проверки DBCC Ошибка при сбое
Индекс секции Проверка статистики и индексов сегмента.

Сравнение идентификатора каждого элемента во временном индексе секции со статистикой секции, хранимой на диске. Если во временном индексе обнаруживается элемент со значением идентификатора данных за пределами диапазона, хранимого для статистики индекса секции на диске, статистика для индекса считается поврежденной.
Статистика сегмента секции повреждена.
Индекс секции Проверка метаданных.

Проверка возможности найти элементы во временном индексе в файле заголовка индекса для сегмента на диске.
Сегмент секции поврежден.
Индекс секции Проверка на наличие физического повреждения сегментов.

Считывание файла индекса на диске для каждого элемента во временном индексе и проверка того, что размер записей индекса совпадает и одинаковые страницы данных помечены как имеющие записи для текущего элемента.
Сегмент секции поврежден.

Справочник. Проверки согласованности и ошибок для табличных баз данных

В следующей таблице приведен список всех проверок согласованности, выполняемых для табличных объектов, а также ошибок, которые возникают, если проверка указывает на повреждение. Ошибки в этой таблице отображаются в трассировках xEvent и SQL Server Profiler для сбоев на уровне объектов.

Объект Описание проверки DBCC Ошибка при сбое
База данных Проверка количества таблиц в базе данных. Значение меньше нуля означает повреждение. Имеется повреждение на уровне хранилища. Коллекция таблиц в базе данных "%{parent/}" повреждена.
База данных Проверка внутренней структуры для отслеживания ссылочной целостности и вывод ошибки, если размер неправильный. Файлы базы данных не прошли проверку согласованности.
Таблица Проверка внутреннего значения, используемого для определения типа таблицы: таблица фактов или таблица измерений. Значение, выпадающее за пределы известного диапазона, указывает на повреждение. Сбой проверок соответствия базы данных (DBCC) при проверке статистики таблицы.
Таблица Проверка соответствия количества секций в сопоставлении сегментов для таблицы количеству секций, определенных для таблицы. Имеется повреждение на уровне хранилища. Коллекция секций в таблице "%{parent/}" повреждена.
Таблица Если табличная база данных была создана или импортирована из PowerPivot для Excel 2010 и включает несколько секций, возникает ошибка, поскольку поддержка секций была добавлена в более поздней версии и это является признаком повреждения. Сбой проверок соответствия базы данных (DBCC) при проверке сопоставления сегментов.
Секция Проверка того, что в каждой секции количество сегментов данных и количество записей для каждого сегмента данных в сегменте соответствует значениям, хранимым в индексе для сегмента. Сбой проверок соответствия базы данных (DBCC) при проверке сопоставления сегментов.
Секция Создание ошибки, если общее количество записей, сегментов или записей на сегмент является недопустимым (меньше нуля) или количество сегментов не соответствует необходимому вычисленному количеству сегментов, основанному на общем количестве записей. Сбой проверок соответствия базы данных (DBCC) при проверке сопоставления сегментов.
Связь Создание ошибки, если структура, используемая для хранения данных о связях, не содержит записей или имя таблицы, используемой в связи, пустое. Сбой проверок согласованности базы данных (DBCC) при проверке связей.
Связь Проверка того, что имена главной таблицы, основного столбца, внешней таблицы и внешнего столбца заданы и к столбцам и таблицам, участвующим в связи, можно получить доступ.

Проверка допустимости участвующих типов столбцов. Проверка того, что результатом индекса значений первичного и внешнего ключа является допустимая структура поиска.
Сбой проверок согласованности базы данных (DBCC) при проверке связей.
Иерархия Создание ошибки, если порядок сортировки для иерархии не является распознаваемым значением. Сбой проверок согласованности базы данных (DBCC) при проверке иерархии "%{hier/}".
Иерархия Проверки, выполняемые для иерархии, зависят от внутреннего типа используемой схемы сопоставления иерархий.

Все иерархии проверяются на наличие правильного состояния обработки, наличие хранилища иерархий и (при необходимости) наличие структуры данных, которая используется для преобразования идентификаторов данных в позиции иерархии.

Предполагая, что эти проверки пройдены, выполняется обход структуры иерархий, чтобы проверить, что каждая позиция в иерархии указывает на правильный элемент.
В случае сбоя любой из этих проверок создается ошибка.
Сбой проверок согласованности базы данных (DBCC) при проверке иерархии "%{hier/}".
Определяемые пользователем иерархии Проверка того, что заданы имена уровней иерархии.

Если иерархия обработана, проверка того, что внутреннее хранилище данных иерархии имеет правильный формат. Проверка того, что внутреннее хранилище иерархий не содержит недопустимых значений данных.

Если иерархия помечена как необработанная, подтверждение того, что это состояние применяется к старым структурам данных и все уровни иерархии помечены как пустые.
Сбой проверок согласованности базы данных (DBCC) при проверке иерархии "%{hier/}".
Столбец Создание ошибки, если для кодировки, используемой для столбца, не задано известное значение. Сбой проверок соответствия базы данных (DBCC) при проверке статистики столбца.
Столбец Проверка того, что сжатие столбца выполнено обработчиком в памяти. Сбой проверок соответствия базы данных (DBCC) при проверке статистики столбца.
Столбец Проверка известных значений для типа сжатия в столбце. Сбой проверок соответствия базы данных (DBCC) при проверке статистики столбца.
Столбец Если для "разметки" столбца не задано известное значение, создается ошибка. Сбой проверок соответствия базы данных (DBCC) при проверке статистики столбца.
Столбец Если диапазон идентификаторов, хранимых для словаря данных столбцов, не совпадает с числом значений в словаре данных или находится за пределами допустимого диапазона, создается ошибка. Сбой проверок соответствия базы данных (DBCC) при проверке словаря данных.
Столбец Проверка того, что количество сегментов данных для столбца совпадает с количеством сегментов данных для таблицы, к которой он принадлежит. Имеется повреждение на уровне хранилища. Коллекция сегментов в столбце "%{parent/}" повреждена.
Столбец Проверка соответствия количества секций для столбца данных количеству секций для сопоставления сегментов данных для столбца. Сбой проверок соответствия базы данных (DBCC) при проверке сопоставления сегментов.
Столбец Проверка соответствия количества записей в сегменте столбца числу записей, хранимых в индексе для этого сегмента столбца. Имеется повреждение на уровне хранилища. Коллекция сегментов в столбце "%{parent/}" повреждена.
Столбец Если в столбце нет статистики сегмента, создается ошибка. Сбой проверок соответствия базы данных (DBCC) при проверке статистики сегмента.
Столбец Если в столбце нет соответствующих сведений о сжатии или хранилище сегментов, создается ошибка. Файлы базы данных не прошли проверку согласованности.
Столбец Создается ошибка, если статистика сегмента для столбца не соответствует фактическим значениям столбца: минимальный идентификатор данных, максимальный идентификатор данных, количество различных значений, количество строк или наличие значений NULL. Сбой проверок соответствия базы данных (DBCC) при проверке статистики сегмента.
Сегмент столбца Если минимальный или максимальный идентификатор данных меньше системного зарезервированного значения null, пометьте сведения сегмента столбца как поврежденные. Сбой проверок соответствия базы данных (DBCC) при проверке статистики сегмента.
Сегмент столбца Если для этого сегмента нет строк, для минимального и максимального значений данных для столбца следует задать системное зарезервированное значение null. Если значение не равно NULL, создается ошибка. Сбой проверок соответствия базы данных (DBCC) при проверке статистики сегмента.
Сегмент столбца Если столбец содержит строки и хотя бы одно значение, отличное от NULL, выполняется проверка того, что минимальный и максимальный идентификатор данных для столбца больше зарезервированного в системе значения NULL. Сбой проверок соответствия базы данных (DBCC) при проверке статистики сегмента.
Внутренние Проверка того, что указание разметки хранилища задано и, если хранилище обработано, существуют допустимые указатели для внутренних таблиц. Если хранилище не обработано, проверка того, что все указатели имеют значение NULL.
В противном случае возвращается общая ошибка DBCC.
Файлы базы данных не прошли проверку согласованности.
База данных DBCC Создается ошибка, если схема базы данных не содержит таблиц или не удается получить доступ к одной или нескольким таблицам. Имеется повреждение на уровне хранилища. Коллекция таблиц в базе данных "%{parent/}" повреждена.
База данных DBCC Создается ошибка, если таблица помечена как временная или имеет неизвестный тип. Обнаружен неправильный тип таблицы.
База данных DBCC Создается ошибка, если количество связей таблицы имеет отрицательное значение или если для любой таблицы имеется определенная связь и не удается найти соответствующую структуру связей. Имеется повреждение на уровне хранилища. Коллекция связей в таблице "%{parent/}" повреждена.
База данных DBCC Если уровень совместимости для базы данных — 1050 (SQL Server 2008 R2 и PowerPivot 1.0) и количество связей превышает количество таблиц в модели, база данных помечается как поврежденная. Файлы базы данных не прошли проверку согласованности.
Таблица DBCC Для проверяемой таблицы выполняется проверка того, что количество столбцов меньше нуля; если условие верно, выдается ошибка. Ошибка также возникает, если хранилище столбцов для столбца в таблице имеет значение NULL. Имеется повреждение на уровне хранилища. Коллекция столбцов в таблице "%{parent/}" повреждена.
Секция DBCC Проверка таблицы, которой принадлежит проверяемая секция; если количество столбцов в таблице меньше нуля, это означает, что коллекция столбцов для таблицы повреждена. Кроме того, ошибка возникает, если хранилище столбцов для столбца в таблице имеет значение NULL. Имеется повреждение на уровне хранилища. Коллекция столбцов в таблице "%{parent/}" повреждена.
Секция DBCC Проход по всем столбцам для выбранной секции и проверка того, что каждый сегмент секции имеет допустимую ссылку на структуру сегментов столбца. Если любой сегмент включает пустую ссылку, секция считается поврежденной. Имеется повреждение на уровне хранилища. Коллекция сегментов в столбце "%{parent/}" повреждена.
Столбец Создание ошибки, если тип столбца недопустим. Обнаружен неправильный тип сегмента.
Столбец Создание ошибки, если любой столбец имеет отрицательное количество сегментов в столбце или указатель на структуру сегментов столбца для сегмента включает пустую ссылку. Имеется повреждение на уровне хранилища. Коллекция сегментов в столбце "%{parent/}" повреждена.
Команда DBCC Команда DBCC выводит несколько сообщений о состоянии по мере выполнения операции DBCC. Перед началом операции выводится сообщение о состоянии, которое содержит имя базы данных, таблицы или столбца объекта. Такое же сообщение снова выводится после завершения проверки каждого объекта. Проверка согласованности <типа> objectname><. Этап: предварительная проверка.

Проверка согласованности <типа> objectname><. Этап: постпроверка.

Общие способы устранения ошибок

Следующие сообщения об ошибках отображаются в SQL Server Management Studio или в файлах msmdsrv.log. Эти ошибки отображаются в случае сбоя одной или нескольких проверок. В зависимости от ошибки рекомендуется выполнить повторную обработку объекта, удалить и повторно развернуть решение или восстановить базу данных.

Ошибка Проблема Решение
Ошибки диспетчера метаданных

Недопустимая ссылка на объект objectID<>. Он не совпадает со структурой иерархии классов метаданных.
Неправильный формат команды Проверьте синтаксис команды. Скорее всего, вы включили объект нижнего уровня без указания одного или нескольких родительских объектов.
Ошибки диспетчера метаданных

Либо объект> с идентификатором objectID<> не существует в <родительском объекте> с идентификатором parentobjectID><, либо у пользователя нет разрешений на доступ к объекту.<
Повреждение индекса (многомерные базы данных) Повторно обработайте объект и все зависимые объекты.
При проверке согласованности секции произошла ошибка

Произошла ошибка при проверке согласованности секции <имени> секции <группы мер имени меры> для <куба имени> куба из <базы данных database-name> . Выполните повторную обработку секции или индексов для устранения повреждения.
Повреждение индекса (многомерные базы данных) Повторно обработайте объект и все зависимые объекты.
Статистика сегмента секции повреждена Повреждение индекса (многомерные базы данных) Повторно обработайте объект и все зависимые объекты.
Сегмент секции поврежден Повреждение метаданных (табличные или многомерные базы данных) Удалите и повторно разверните проект или выполните восстановление из резервной копии и повторную обработку.

Инструкции см. в публикации блога Обработка повреждений в базах данных служб Analysis Services (How to handle corruption in Analysis Services databases).
Повреждение метаданных таблицы

<Файл метаданных табличного имени> поврежден. Не удалось найти основную таблицу в узле DataFileList.
Повреждение метаданных (только табличные базы данных) Удалите и повторно разверните проект или выполните восстановление из резервной копии и повторную обработку.

Инструкции см. в публикации блога Обработка повреждений в базах данных служб Analysis Services (How to handle corruption in Analysis Services databases).
Повреждение на уровне хранилища

Повреждение на уровне хранилища: коллекция type-name> в <parent-name><parent-type> повреждена<.
Повреждение метаданных (только табличные базы данных) Удалите и повторно разверните проект или выполните восстановление из резервной копии и повторную обработку.

Инструкции см. в публикации блога Обработка повреждений в базах данных служб Analysis Services (How to handle corruption in Analysis Services databases).
Отсутствует системная таблица

Отсутствует имя> таблицы системной таблицы<.
Повреждение объекта (только табличные базы данных) Повторно обработайте объект и все зависимые объекты.
Статистика таблицы повреждена

Статистика таблицы System table <table-name> отсутствует.
Повреждение метаданных (только табличные базы данных) Удалите и повторно разверните проект или выполните восстановление из резервной копии и повторную обработку.

Инструкции см. в публикации блога Обработка повреждений в базах данных служб Analysis Services (How to handle corruption in Analysis Services databases).

Отключение автоматических проверок согласованности при операциях загрузки базы данных

Хотя это не рекомендуется, можно отключить встроенные проверки согласованности базы данных, которые выполняются автоматически для событий загрузки базы данных (только для табличных баз данных). Для этого необходимо изменить параметр конфигурации в файле msmdsrv.ini:

<ConfigurationSettings>  
     <Vertipaq />  
          <DisableConsistencyChecks />  

Этот параметр отсутствует в файле конфигурации; его необходимо добавить вручную.

Допустимы следующие значения:

  • -2 (по умолчанию) — проверка DBCC включена. Если сервер может логически устранить ошибку с высокой степенью достоверности, исправление будет применено автоматически. В противном случае ошибка будет зарегистрирована в журнале.

  • -1 — проверка DBCC включена частично. Команда включена для операции RESTORE и проверок перед фиксацией, в ходе которых проверяется состояние базы данных в конце транзакции.

  • 0 — проверка DBCC включена частично. Проверки согласованности базы данных выполняются во время операций RESTORE, IMAGELOAD, LOCALCUBELOAD и ATTACH
    .

  • 1 — проверка DBCC отключена. Проверки целостности данных отключены, однако проверки десериализации будут выполняться.

Примечание

Этот параметр не влияет на работу DBCC при выполнении команды по требованию.

См. также раздел

Обработка базы данных, таблицы или секции (службы Analysis Services)
Обработка многомерной модели (службы Analysis Services)
Уровень совместимости табличных моделей в службах Analysis Services
Свойства сервера в службах Analysis Services