KB2483381 — ИСПРАВЛЕНИЕ. Сбой приложения при закрытии последнего подключения к локальному файлу куба в SSRS 2008 R2

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 в виде одного скачиваемого файла. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений SQL Server 2008 R2.

Проблема

Рассмотрим следующий сценарий.

  • Вы запускаете приложение, которое открывает подключение к локальному кубу в Microsoft SQL Server 2008 R2 Analysis Service (SSRS 2008 R2).

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

    • Запустите Microsoft Excel, чтобы открыть и закрыть подключение к локальному кубу несколько раз.
    • Microsoft Access запускается для открытия и закрытия подключения к локальному кубу при переключении между представлениями сводной диаграммы таблицы.
    • Вы запускаете поставщик MSOLAP, ADOMD.NET или AMO в приложении для управления подключением локального куба. 
  • Приложение пытается закрыть последнее подключение к локальному кубу.

В этом сценарии может произойть сбой приложения.

Причина

Эта проблема возникает из-за ошибки состояния гонки между потоками в подсистеме локального куба службы Analysis Service (Msmdlocal.dll).

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

Решение

Сведения о накопительных обновлениях

SQL Server 2008 R2

Исправление этой проблемы было впервые выпущено в накопительном обновлении 6. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

2489376 пакет накопительного обновления 6 для SQL Server 2008 R2 Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется применить последний выпуск исправления, содержащий это исправление. Для получения дополнительных сведений щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

981356 сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки

Дополнительные сведения о локальных кубах см. на следующем веб-сайте Microsoft Developer Network (MSDN):

Общие сведения о локальных кубах
        
Чтобы получить дополнительные сведения о модели добавочного обслуживания для SQL Server, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

935897 в команде SQL Server доступна модель добавочного обслуживания для доставки исправлений для обнаруженных проблем. Дополнительные сведения о схеме именования для обновлений SQL Server щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

822499 Новая схема именования для пакетов обновлений программного обеспечения Microsoft SQL Server Для дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

824684 Описание стандартной терминологии, используемой для описания обновлений программного обеспечения Майкрософт