Применяется к
SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Workgroup SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard

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

Проблемы

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

  • Вы обновляете Microsoft SQL Server 2005 до Microsoft SQL Server 2008 или Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2012.

  • Вы запускаете запрос, в котором используется хранимая процедура sp_cursoropen , а затем указываете параметр ROWCOUNT для выборки первых нескольких строк в таблице.

В этом случае производительность может выполняться медленнее, чем при выполнении одного и того же запроса в SQL Server 2005.

Причина

Эта проблема возникает из-за того, что оптимизатор запросов использует статический план курсора вместо динамического плана курсора. Для статического плана исполнения курсора SQL Server извлекает все строки и вставляет их в рабочую таблицу Cursor. Однако при динамическом плане по курсору SQL Server извлекает только необходимые строки.

Решение

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

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)

После применения этого исправления включите флаг трассировки 4199. Исправление для этой проблемы впервые выпущено в накопительном обновлении 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)

Обходное решение

Для решения этой проблемы добавьте в запрос подсказку быстрого запроса.

Дополнительная информация

Дополнительные сведения о том, как использовать подсказки в запросах, можно найти на веб-сайте MSDN по следующему адресу:

Общие сведения о том, как использовать подсказки в запросахДополнительные сведения о флаге трассировки 4199 можно найти на веб-сайте по следующему адресу:

Общие сведения о флаге трассировки 4199

Статус

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.