SSAS Cube reprocessing не удается - затем успешно, если я попытаюсь снова - PullRequest
4 голосов
/ 26 апреля 2010

Итак, я принципиально не знаком с концепцией BI и унаследовал существующий процесс ETL, состоящий из двух этапов:

  1. Загружает данные в базу данных, которая используется только для обработки куба

  2. Запускает обработку куба SSAS для указанной базы данных

Кажется, что он довольно хорошо изолирован, но иногда (раз в неделю, иногда дважды) он терпит неудачу со следующим исключением:

«Ошибки в механизме хранения OLAP: ключ атрибута не найден»

Теперь интересно то, что:

  1. Измерение, имеющее проблему, обычно не одно и то же (т. Е. не существует ни одного измерения, которое постоянно имеет эту ошибку )

  2. Исходная таблица , когда я проверяю ее, действительно содержит ключ атрибута , который, как он говорит, не найден

  3. Если я затем немедленно повторно обработаю размеры и кубы вручную через SSMS, они будут успешно обработаны и без инцидентов.

И в вышеупомянутой работе, и когда я перерабатываю их через SSMS, я использую "ProcessFull", поэтому он должен обрабатывать их полностью.

Кто-нибудь сталкивался с такой проблемой? Я ломаю голову над этим ... потому что если бы это была настоящая проблема целостности данных, повторная обработка куба не исправила бы это. Что на земле может происходить? Мне было поручено выяснить, почему это происходит, но я не могу ни воспроизвести его последовательно, ни указать на причину целостности данных в качестве основной причины.

Спасибо за любой вклад, который вы можете предоставить!

Ответы [ 4 ]

4 голосов
/ 26 апреля 2010

Я столкнулся с проблемой симуляции и обнаружил, что обработка измерений перед обработкой куба работает для меня.

1 голос
/ 17 июня 2010

Я видел нечто похожее как с AS2005, так и с AS2008. Мы получаем ошибку "Ключ размера не найден", несмотря на то, что размеры были обработаны.

Ежедневно загружаем и обрабатываем размеры. В первый день месяца создаются новые разделы. В первые выходные месяца после ежедневной обработки измерений загружаются таблицы фактов и обрабатываются разделы. Все это делается через SSIS. Уже несколько месяцев обработка разделов не выполняется. Если мы подождем день, пусть однократная обработка измерений будет выполнена один раз, затем разделы будут обработаны. Тестирование показало, что выполнение ProcessUpdate для одного ключевого измерения ПОСЛЕ загрузки таблицы фактов позволяет обрабатывать связанный раздел. Обратите внимание, что взаимодействие специфично для каждого раздела и зависит от загружаемой таблицы фактов. Если мы загрузим таблицу фактов A, обработаем измерение, тогда будет обработан раздел A. Если мы опаздываем при загрузке таблицы фактов B, нам придется дождаться повторной обработки обработки измерений, прежде чем будет обработан раздел B.

Общеизвестно, что измерение ProcessUpdate сделает недействительными индексы и агрегаты связанных разделов, поэтому между измерением и обработкой раздела есть связь. Я подозреваю, что мы можем видеть некоторое дополнительное недокументированное взаимодействие.

1 голос
/ 05 мая 2010

Размеры всегда должны обрабатываться первыми.

Как еще куб узнает, как наметить вещи?

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

1 голос
/ 30 апреля 2010

Вы сказали, что пакет начинает обработку, какие настройки для обработки?

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

...