Проблемы
Предположим, что вы запускаете хранимую процедуру Cursor sp_cursoropen вместе с аргументом SCROLLOPT в Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2012. Кроме того, предположим, что справедливы следующие условия:
-
Аргумент scrollopt не установлен как статический или FAST_FORWARD.
-
Параметр stmt включает запрос, который выполняется для представления.
-
Представление получает данные из таблицы с помощью связанного сервера.
-
Таблица содержит составной индекс, содержащий 16 ключевых столбцов.
В этом случае появляется следующее сообщение об ошибке:
При текущей команде возникла серьезная ошибка.
Решение
Сведения о накопительном пакете обновления
Накопительное обновление 9 для SQL Server 2012
Исправление для этой проблемы впервые выпущено в накопительном обновлении 9. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012, щелкните следующий номер статьи базы знаний Майкрософт:
2867319 Накопительный пакет обновления 9 для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012
Накопительное обновление 4 для SQL Server 2012 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 4. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:
2833645 Накопительное обновление 4 для SQL Server 2012 с пакетом обновления 1 (SP1)Примечание. С учетом того, что сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в указанной ниже статье базы знаний Майкрософт:
2772858 Сборки SQL Server 2012, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2012
Накопительное обновление 6 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 6. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2 (SP2), щелкните следующий номер статьи базы знаний Майкрософт:
2830140 Накопительный пакет обновления 6 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск пакета обновления 2 (SP2) для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Обходное решение
Для решения этой проблемы используйте для составного индекса менее 16 ключевых столбцов.
Ссылки
Для получения дополнительных сведений о sp_cursoropenехранимой процедуры курсора перейдите на следующий веб-сайт MSDN: