Корпорация Майкрософт распространяет исправления для Microsoft SQL Server 2008 R2 с пакетом обновления 1 (SP1) или Microsoft SQL Server 2012 в одном загружаемом файле. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и все обновления для системы безопасности, которые были включены в предыдущий выпуск SQL Server 2008 R2 с пакетом обновления 1 (SP1) или Microsoft SQL Server 2012.
Проблемы
При выполнении параллельного запроса, содержащего пользовательскую статистическую функцию среды CLR (UDA) в Microsoft SQL Server 2008 R2, может возникнуть исключение System. NullReferenceException или System. InvalidOperationException . Кроме того, появляется приведенное ниже сообщение об ошибке:
Сообщение 6522, уровень 16, состояние 2, строка 1A .NET Framework произошла ошибка при выполнении пользовательской подпрограммы или агрегатной процедуры, <пользовательской подпрограммы или имени агрегатной> ": System. NullReferenceException: ссылка на объект не задана экземпляру объекта.
Решение
Сведения о накопительном пакете обновления
SQL Server 2012
Исправление для этой проблемы впервые выпущено в накопительном обновлении 1 для SQL Server 2012. Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2679368 Накопительный пакет обновления 1 (SP1) для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012 Вы должны применить исправление SQL Server 2012 к установке SQL Server 2012.
Накопительный пакет обновления 5 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 5. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:
2659694 Накопительный пакет обновления 5 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска сервера SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Обходное решение
Чтобы обойти эту ошибку, не выполняйте запрос, использующий план параллельного выполнения. Например, можно установить параметр Максимальная степень параллелизма равным 1 в конфигурации сервера или установить для параметра подсказка MAXDOP запроса значение 1.
Дополнительная информация
Дополнительные сведения о среде CLR UDA можно найти на веб-сайте MSDN по следующему адресу:
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".