Войти

Исправление: Использование памяти скомпилированный план запроса может неожиданно увеличиться в SQL Server 2005

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

919636
Ошибка #: 810 (исправление SQL)
Внимание
Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2005 файл с исправлениями. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Далее в статье о выпуске исправлений:
  • Проблем, устраняемых этим пакетом исправлений
  • необходимые условия для установки исправления;
  • Сведения о необходимость перезагрузки компьютера после установки пакета исправлений
  • Сведения о ли исправление заменяется на любой другой пакет исправлений
  • Сведения о ли внесены изменения в реестр
  • Файлы, содержащиеся в пакете исправлений
Проблема
При проверке скомпилированный план запроса из запроса, можно заметить, что использование памяти плана запроса компилируемых неожиданно может привести к увеличению в SQL Server 2005 по сравнению с Microsoft SQL Server 2000.

Такое поведение наблюдается, если выполняется одно из следующих условий:
  • Условие 1.:Запрос ссылается на таблицу, которая использует вычисляемые столбцы.
  • Условие 2:Запрос содержит строковые операции между значенияnvarcharстолбцы и строки ANSI. Например строка операции сравнивает значенияnvarcharстолбцов в строки ANSI.
  • Условие 3:Запрос содержит ссылки на таблицу с вычисляемым столбцом. На основе вычисляемых столбцовnvarcharстолбец. Однако столбец компьютер использует ANSI строковые константы в выражении.
Условия, 2 и 3 может привести к значительно увеличить использование памяти скомпилированный план запроса.

Например, у вас есть таблицы, имеющейnvarcharстолбец. Имя таблицы — MyTable, а такжеnvarcharИмя столбца является MyCol. Затем определить запрос, используя следующий синтаксис:
SELECT CASE MyCol          WHEN 'Value1' THEN 'NewValue1'          WHEN 'Value2' THEN 'NewValue2'          ELSE MyCol       ENDFROM MyTable
В данном примере строки "Значение1", "Значение2", "NewValue1" и "NewValue2" являются строки ANSI. Значения MyColnvarcharстолбец сначала сравниваются со строки ANSI "Значение1" и "Значение2". После этого соответствующее значение "NewValue1", "NewValue2" выбранные строки ANSI и исходное значение столбца MyCol.

Скомпилированный план использования памяти можно просмотреть, просмотрpagesusedстолбец таблицы системы sys.syscacheobjects или динамическое административное представление sys.dm_exec_cached_plans.

Это увеличение размера компилируемых плане также может привести к увеличение времени ожидания для RESOURCE_SEMAPHORE_QUERY_COMPILE типа ожидания.
Решение
Вам доступно исправление от корпорации Майкрософт.. Это исправление предназначено для устранения проблемы, описанной в этой статье.. Его необходимо применять только в тех системах, в которых наблюдается данная проблема.. Исправление может проходить дополнительное тестирование.. Таким образом эта проблема не является постоянной для вас, мы рекомендуем дождаться следующего автоматического обновления программного обеспечения, содержащего это исправление..

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

Примечание.Другие проблемы или если требуется устранить неполадки, возможно, потребуется создать отдельный запрос. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются вами дополнительно.. Полный список телефонов поддержки и обслуживания клиентов Microsoft или информацию по созданию отдельного запроса на обслуживание вы можете найти на веб-сайте Майкрософт::Примечание.В форме "Исправление доступно для загрузки" отображаются языки, для которых доступно исправление. Если язык не отображается, это значит, что исправление не доступно для данного языка..

Предвартельные требования

Требуется SQL Server 2005 с пакетом обновления 1 (SP1) для установки этого исправления.Для получения дополнительных сведений о том, как получить SQL Server 2005 с пакетом обновления 1 (SP1) щелкните следующий номер статьи базы знаний Майкрософт:
913089Получение последнего пакета обновления для SQL Server 2005

Сведения о перезагрузке компьютера

После установки исправления перезагружать компьютер не требуется.. Тем не менее если вы уже подвержены данной проблеме, выполните действия, описанные в разделе «Workground» после установки данного исправления, чтобы восстановить файлы базы данных в исправном состоянии.

Сведения о внесении изменений в системный реестр

Нет изменений в реестр.

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

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

Английская версия исправления содержит версии файлов, приведенные в следующей таблице (или более поздние).. Дата и время для файлов указаны во всеобщем скоординированном времени (UTC).. При просмотре сведений о файле, время изменяется на местное.. Чтобы узнать разницу между временем по Гринвичу и местным временем,Часовой поясна вкладке элемента «Дата и время» панели управления.
SQL Server 2005 32-разрядная версия
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
Microsoft.SqlServer.sqlenum.dll9.0.2164.0908,06414 Июня 2006 г.12: 32X86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.075,55214 Июня 2006 г.12: 29X86
Msgprox.dll2005.90.2164.0197,92014 Июня 2006 г.12: 29X86
Replprov.dll2005.90.2164.0547,61614 Июня 2006 г.12: 31X86
Replrec.dll2005.90.2164.0782,11214 Июня 2006 г.12: 32X86
Msmdlocal.dll9.0.2164.015,661,85614 Июня 2006 г.12: 33X86
SqlAccess.dll2005.90.2164.0347,93614 Июня 2006 г.12: 31X86
Sqlservr.exe2005.90.2164.028,950,87214 Июня 2006 г.12: 33X86
SQL Server 2005 x 64-разрядная версия
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
Microsoft.SqlServer.sqlenum.dll9.0.2164.0875,29614 Июня 2006 г.13: 12X86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.091,42414 Июня 2006 г.12: 29X64
Msgprox.dll2005.90.2164.0259,36014 Июня 2006 г.13: 10X64
Replprov.dll2005.90.2164.0745,24814 Июня 2006 г.13: 12X64
Replrec.dll2005.90.2164.01,008,41614 Июня 2006 г.13: 12X64
Msmdlocal.dll9.0.2164.015,661,85614 Июня 2006 г.12: 33X86
SqlAccess.dll2005.90.2164.0355,10414 Июня 2006 г.13: 11X86
Sqlservr.exe2005.90.2164.039,251,23214 Июня 2006 г.13: 13X64
Версии SQL Server 2005 Itanium
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
Microsoft.SqlServer.sqlenum.dll9.0.2164.0875,29614 Июня 2006 г.12: 29X86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.0163,10414 Июня 2006 г.12: 29IA-64
Msgprox.dll2005.90.2164.0542,49614 Июня 2006 г.12: 28IA-64
Msmdlocal.dll9.0.2164.048,733,98414 Июня 2006 г.12: 30IA-64
Replprov.dll2005.90.2164.01,617,18414 Июня 2006 г.12: 29IA-64
Replrec.dll2005.90.2164.02,141,47214 Июня 2006 г.12: 29IA-64
SqlAccess.dll2005.90.2164.0349,47214 Июня 2006 г.12: 28X86
Sqlservr.exe2005.90.2164.072,208,67214 Июня 2006 г.12: 30IA-64
Временное решение
Чтобы обойти эту проблему, добавьте прописная буква «N» в начале всех строк, которые находятся в контексте проблемы. Можно изменить пример, в котором описана в разделе «Проблема», используя следующий синтаксис:

Статус
Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..
Дополнительная информация
Скомпилированный план использования памяти можно просмотреть, просмотрpagesusedстолбец таблицы системы sys.syscacheobjects или динамическое административное представление sys.dm_exec_cached_plans.

Для получения дополнительных сведений о системной таблице sys.syscacheobjects посетите следующий веб-узел Microsoft Developer Network (MSDN):Для получения дополнительных сведений о динамическое административное представление sys.dm_exec_cached_plans посетите веб-узлу MSDN:Для получения дополнительных сведений о схеме именования для обновления Microsoft SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в следующей статье базы знаний Майкрософт::
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Предупреждение: эта статья переведена автоматически

Свойства

Номер статьи: 919636 — последний просмотр: 01/17/2015 14:52:23 — редакция: 3.0

  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard X64 Edition
  • kbnosurvey kbarchive kbautohotfix kbsql2005engine kbhotfixserver kbexpertiseadvanced kbqfe kbfix kbmt KB919636 KbMtru
Отзывы и предложения