ИСПРАВИТЬ: Низкая производительность при использовании множество табличных переменных в SQL Server 2008 R2 или SQL Server 2008 возвращающих табличное значение функций

Переводы статьи Переводы статьи
Код статьи: 2566163 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Предполагается использовать множество табличных переменных в табличной функции в Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2008. В этом случае возникают высокую конкуренцию для таблицы[2:1:103]sys.sysmultiobjrefsв базе данных Tempdb . Идентификатор профиля службы ожидает PAGELATCH_EX или PAGELATCH_SH типы ожиданий, которые кратковременных блокировок в таблице sys.sysmultiobjrefs в крупные цепочки блокировки.

Причина

Эта проблема возникает из-за внутренней функции, обрабатывающий объект зависимостей блокирует и затем удаляет строки, даже если в большинстве случаев, строки не существует. Следовательно происходит многие эксклюзивные страничным кратковременным блокировкам.

Решение

Накопительное обновление информации

Накопительное обновление для SQL Server 2008 Пакет обновления 3 10

Исправление этой уязвимости первого выпуска накопительного обновления 10. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 Пакет обновления 3 щелкните следующий номер статьи базы знаний Майкрософт:
2814783 Накопительный пакет обновления 10 для SQL Server 2008 Пакет обновления 3
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 Пакет обновления 3 выпуска исправлений. Мы рекомендуем рассмотреть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2629969 SQL Server 2008 формирует, вышедшие после выпуска SQL Server 2008 Пакет обновления 3

Пакет обновления 1 для SQL Server 2008 R2

Исправление этой уязвимости первого выпуска накопительного обновления 3 для SQL Server 2008 R2 Пакет обновления 1. Дополнительные сведения о том, как получить этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2591748 Накопительный пакет обновления 3 для SQL Server 2008 R2 Пакет обновления 1
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и исправить все исправления, входившие в состав предыдущих SQL Server 2008 R2 выпуска. Мы рекомендуем рассмотреть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после SQL Server 2008 R2 с пакетом обновления 1

SQL Server 2008 R2

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

Сведения об исправлении

Это исправление от корпорации Майкрософт. Однако данное исправление предназначено исключительно для устранения проблемы, описанной в этой статье. Данное исправление необходимо использовать только в тех системах, в которых обнаружена эта специфическая неполадка.

Если исправление доступно для загрузки, имеется раздел «Исправление доступно для загрузки» в верхней части этой статьи базы знаний. Если этот раздел не отображается, отправьте запрос в службу технической поддержки и поддержки для получения исправления.

Примечание Если имеются другие проблемы или необходимо устранить неполадки, вы можете создать отдельный запрос на обслуживание. Затраты на обычные службы поддержки будет применяться к Дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:
http://support.Microsoft.com/contactus/?ws=support
Примечание В форме «Исправление доступно для загрузки» отображаются языки, для которых доступно исправление. Если язык не отображается, это означает, что исправление для данного языка отсутствует.

Необходимые условия

Данное исправление необходимо иметь SQL Server 2008 R2 или SQL Server 2008 установлен.

Необходимость перезагрузки

После установки этого исправления необходимо перезагрузить компьютер.

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Сведения о файле

Общая версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в UTC. При просмотре сведений о файле, оно преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать Часовой пояс в закладке Дата и время элемент панели управления.

Сведения о файлах SQL Server 2008
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформы
Sqlservr.exe2007.100.5831.043,080,70425 Января числа 201315:14x86
Sqlservr.exe2007.100.5831.058,131,45625 Января числа 201315:16x64
Sqlservr.exe2007.100.5831.0111,902,20025 Января числа 201315:14IA-64

Сведения о файлах SQL Server 2008 R2
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформы
Sqlservr.exe2009.100.1798.0122,301,79216 Июня 2011 г.22:19x86
Sqlservr.exe2009.100.1798.061,978,46416 Июня 2011 г.22:53x64
Sqlservr.exe2009.100.1798.042,910,56016 Июня 2011 г.23:50IA-64

Временное решение

Чтобы обойти эту проблему, используйте один из следующих методов:
  • Отключить AUTO_UPDATE_STATISTICS параметр в Microsoft SQL Server 2008 R2 Management Studio.
  • Удалите динамические табличной функции.

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Информация в данной статье применима к:».

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

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


Свойства

Код статьи: 2566163 - Последний отзыв: 18 марта 2013 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
Ключевые слова: 
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2566163 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 2566163

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com