Повідомлення про помилку під час спроби обробки бази даних або куба в службах аналізу SQL Server 2005: "не вдалося знайти ключ атрибута", а "запис пропущено, оскільки ключ атрибута не знайдено"


Ознаки


У службах аналізу Microsoft SQL Server 2005 можна спробувати обробити базу даних або куб за допомогою студії розробки SQL Server для бізнесу або програми керування SQL Server. Проте не вдалося виконати операцію, і з'являється таке повідомлення про помилку:
Повідомлення про помилку 1
Помилки в двигуні сховища OLAP: не вдалося знайти ключ атрибута: Table: TableName, COLUMN: ColumnName1, Value: значення1. Таблиця: TableName, стовпець: ColumnName2, Value: значення2.
Повідомлення про помилку 2
Помилки в двигуні сховища OLAP: запис пропущено, оскільки ключ атрибута не знайдено. Атрибут: згенерований атрибут X виміру: розмірна назва з бази даних: DatabaseName, Cube: Cubename, вимірювання Група: назва _групи, розділ: назва _елемента, запис: Record-номер.

Причина


Ця проблема виникає через те, що таблиця для куба має один або кілька записів, які містять ключ атрибута, і цей ключ атрибута відсутній у відповідній таблиці виміру. Ця поведінка може виникати, якщо не вдалося обробити відповідний вимір, перш ніж обробляти куб, або коли базові таблиці фактично мають невідповідні дані. Якщо поле "Value:" у повідомленні не має номера після цього, у таблиці має бути Null-дані.

Спосіб вирішення


Щоб вирішити цю проблему, потрібно переконатися, що джерело даних вказує на такі розташування:
  • Правильне основне джерело даних, наприклад екземпляр SQL Server 2005
  • Правильна база даних.
Потім виправте основні записи, які містять проблемний ключ атрибута. Для цього скористайтесь одним із наведених нижче способів.

Використання наявного ключа атрибута

Оновіть записи для використання наявного ключа атрибута, виконавши оператор приблизно такого вигляду:
Update <TableName> set <KeyName>=<ExistingKeyValue> where <KeyName>=<BadKeyValue> or <KeyName> IS NULL

Зіставлення значень ключа в таблиці фактів

Вставте додаткові рядки в таблицю розмірності, щоб відповідати значенням ключа в таблиці фактів. Якщо Null-значення існують, скористайтеся одним із наведених нижче способів.
  • Замініть Null-значення на фактичні значення.
  • Настройте розміри або розміри, щоб мати невідомий учасник, встановивши властивості " ім'я" та " скасувати ". В залежності від ваших потреб ви можете зробити невідомий учасник видимим або прихованим. Щоб отримати докладні відомості про те, як визначити невідомого члена, перейдіть на веб-сайт MSDN для розробників:
  • У діалоговому вікні змінення параметрів Використовуйте всі наведені нижче параметри.
    • Установіть властивість Keyerrenaction , щоб виконати Converttounвідомо.
    • Установіть значення Nullkeynotдозволене для невідповіді " Помилка " або " звіт про продовження".
    • Настройте властивість NullKeyConvertedtoUnknown на незнання або звітпро помилку .
    • Натисніть кнопку пропустити кількість помилок.
    Ви можете встановити такі параметри, як-от, або можна використовувати настроювану конфігурацію для кожного виміру.

Ігнорувати помилку

Якщо потрібно обробити базу даних або куб без виправлення даних, можна настроїти конфігурацію помилки для операції процесу, щоб пропустити помилку. Ці дані слід виконувати лише в тимчасовому режимі. В іншому разі ви можете отримувати несподівані результати із запитів багатовимірних виразів (MDX). Щоб ігнорувати помилки, виконайте наведені нижче дії.
  1. У діалоговому вікні обробка бази даних – DatabaseName або діалогове вікно " процес куба – Cubename " натисніть кнопку змінити настройки.
  2. У діалоговому вікні змінення параметрів перейдіть на вкладку помилки розділу розмірності .
  3. Виберіть пункт використовувати настроювану конфігурацію помилки.
  4. У списку ключ не знайдено змініть значення за замовчуванням у звіті та ПродовжуйтеІгнорувати помилку.
  5. Натисніть кнопку пропустити кількість помилок.
  6. Натисніть кнопку OK , щоб закрити діалогове вікно змінення параметрів .
  7. Натисніть кнопку OK , щоб обробити базу даних або куб.
Крім того, можна настроїти конфігурацію помилки для куба або розділу, щоб пропустити помилку. Щоб отримати докладніші відомості, перейдіть на такий веб-сайт MSDN:

Стан


Це зроблено навмисно.