Усовершенствования параллелизма для базы данных tempdb

Переводы статьи Переводы статьи
Код статьи: 328551 - Vizualiza?i produsele pentru care se aplic? acest articol.
НОМЕР ОШИБКИ: 362099 (SHILOH_BUGS)
Развернуть все | Свернуть все

В этой статье

Проблема

При База данных tempdb активно используется база данных, SQL Server возможно возникновение конфликтов При попытке выделения страниц.

Из sysprocesses системные таблицы вывода waitresource могут отображаться как "2: 1: 1" (PFS Страницы) или "2: 1: 3» (страница SGAM). В зависимости от степени конкуренции это может также привести к SQL Server, появление перестает отвечать на запросы для краткости периоды.


Эти операции, интенсивно используют База данных tempdb:
  • Повторить создание и удаление временных таблиц (локальная или глобальные).
  • Табличные переменные, которые используют База данных tempdb для целей хранения.
  • Рабочие таблицы, связанные с КУРСОРАМИ.
  • Рабочие таблицы, связанный с предложением ORDER BY.
  • Рабочие таблицы, связанный с предложением GROUP BY.
  • Рабочие файлы, связанные с ПЛАНЫ ХЕША.
Большой и значительного использования этих действий может привести к проблемы конкуренции.

Причина

При создании объекта должно быть выделено два (2) страниц из Смешанный экстент и назначенные для нового объекта. Одна страница предназначена для индекса Карты распределения индекса (IAM), а второй — для первой страницы для объекта. SQL Сервер отслеживает смешанных экстентов с помощью общей глобальной карты размещения (SGAM) страницы. Каждая страница SGAM отслеживает 4 ГБ данных.

Как часть Выделение страницы из смешанных экстентов, SQL Server должен проверить свободных страниц Пространство (PFS) страницу, чтобы узнать, какие смешанных страниц бесплатно для распределения. PFS страница следит за свободного места, доступного на каждой странице и каждая страница PFS отслеживает около 8000 страниц. Чтобы сделать сохраняется синхронизацией изменения страницы PFS и SGAM; и который можно кабинки другие модификаторы для краткости периоды.

Когда SQL Server ищет смешанных страниц для распределения, она всегда запускает сканирование одного файла и страница SGAM. Результатом сильная конфликты страница SGAM, когда несколько выделения смешанных страниц находятся в процессе реализации, что может вызвать проблемы, описанной в разделе «Проблема» этой в статье.

Примечание Утечки действий необходимо также изменить страниц, которые можно Contribute для повышения конкуренции.

Дополнительные сведения о распределение различных механизмов, используемый SQL Server (SGAM, GAM, PFS, IAM), см. в разделе «Ссылки» данной статьи.

Решение

Чтобы уменьшить конфликты выделения ресурсов для База данных tempdb на котором возникла загруженного, выполните следующие действия:
  1. Для серверов, работающих под управлением SQL Server 2000 с пакетом обновления 3 (SP3), установите исправление 8.00.0765 или последние исправления безопасности исправить 8.00.0818. Для серверов, работающих под управлением SQL Server с пакетом обновления 2 установите исправление 8.00.0702.

    Эти исправления будут доступны из следующих источников:

    8.00.0765
    814916 ИСПРАВЛЕНИЕ: Агент слияния для отфильтрованных публикаций может привести к ошибке
    8.00.0818
    http://www.Microsoft.com/TechNet/Security/Bulletin/MS03-031.mspx
    8.00.0702
    328551 ИСПРАВЛЕНИЕ: Улучшения параллелизма для базы данных tempdb
  2. Реализовать флага трассировки -T1118.

    Примечание Флаг трассировки -T1118 будет также доступно и поддерживается в Microsoft SQL Server 2005 и SQL Server 2008. Тем не менее при использовании SQL Server 2005 или SQL Server 2008, не нужно применять какие-либо исправления.
  3. Увеличение числа База данных tempdb файлы данных, чтобы иметь по крайней мере равно числу процессоров. Кроме того создайте файлы с равными изменения размера. Дополнительные сведения содержатся в разделе «Дополнительная информация».
Примечание Эти действия также применимы к Microsoft SQL Server 7.0. Единственным исключением является исправлений для SQL Server 7.0; Таким образом шаг 1 выполняет не применяются.

По отношению к шагу 2 Использование трассировки флаг - T1118 для Microsoft SQL Server 7.0, перед тем как использовать флаг трассировки, обратитесь к документации в статье базы знаний Майкрософт:
813492 ИСПРАВИТЬ: Создание индекса завершается с ошибкой в SQL Server 7.0 при включении флага трассировки 1118

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

Чтобы устранить эту проблему, получите последний пакет обновления для Microsoft SQL Server 2000. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
290211 Как получить последний пакет обновления для SQL Server 2000

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

Исправление 8.00.0702

Английская версия исправления содержит атрибуты файла (или более поздними), приведенные в следующей таблице. Дата и время для файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать Часовой пояс на вкладке Дата и время элемент панели управления.
   Date         Time   Version         Size       File name
   ----------------------------------------------------------------
   30-Aug-2002  21:08                    786,432  Distmdl.ldf
   30-Aug-2002  21:08                  2,359,296  Distmdl.mdf
   09-Oct-2002  00:54                        544  Drop_repl_hotfix.sql
   02-Jul-2002  15:35  2000.80.650.0     107,088  Impprov.dll      
   19-Jul-2002  16:56                    774,516  Instdist.sql
   08-Oct-2002  23:56                     12,615  Inst_repl_hotfix.sql
   20-Aug-2002  16:24  2000.80.679.0     111,172  Logread.exe      
   07-Apr-2002  02:08  2000.80.606.0      62,024  Odsole70.dll     
   03-Jan-2002  01:59                     18,185  Qfe356326.sql
   20-Aug-2002  16:47  2000.80.679.0     135,748  Qrdrsvc.exe      
   26-Aug-2002  22:49  2000.80.679.0     406,088  Rdistcom.dll     
   04-Oct-2001  01:36                    437,302  Replcom.sql
   20-Aug-2002  16:33  2000.80.679.0     152,136  Replmerg.exe     
   19-Nov-2001  20:36                    993,945  Replmerg.sql
   05-Nov-2002  23:48  2000.80.700.0     221,768  Replprov.dll     
   04-Oct-2001  01:36                    986,906  Replsys.sql
   04-Oct-2001  01:36                    881,228  Repltran.sql
   26-Aug-2002  22:49  2000.80.679.0     283,208  Rinitcom.dll     
   16-Sep-2002  22:31                    390,045  Securityhotfix.sql
   26-Aug-2002  22:49  2000.80.679.0      28,672  Sqlagent.dll     
   26-Aug-2002  18:39  2000.80.679.0     311,872  Sqlagent.exe     
   28-Aug-2002  16:32  2000.80.679.0      49,152  Sqlagent.rll
   26-Aug-2002  22:49  2000.80.679.0      53,824  Sqlcmdss.dll     
   28-Aug-2002  16:40  2000.80.679.0      12,288  Sqlcmdss.rll
   24-Oct-2002  17:37  2000.80.695.0     176,696  Sqlmap70.dll     
   11-Nov-2002  09:52  2000.80.702.0   7,471,185  Sqlservr.exe     
   11-Nov-2002  09:51                 12,633,088  Sqlservr.pdb
   01-Nov-2002  18:56  2000.80.698.0      45,644  Sqlvdi.dll       
   01-Nov-2002  18:00  2000.80.697.0      82,492  Ssnetlib.dll     
   07-Apr-2002  02:08  2000.80.606.0      70,208  Xplog70.dll      
   07-Apr-2002  02:08  2000.80.606.0      53,828  Xpqueue.dll      
   07-Apr-2002  02:08  2000.80.606.0     156,228  Xprepl.dll       
   12-Jul-2002  01:00  2000.80.658.0     279,104  Xpstar.dll       
   16-Sep-2002  23:12  2000.80.686.0      98,872  Xpweb70.dll   
				
Заметки
  • Из-за зависимостей между файлами, последнего исправления или функция содержащий файлы могут также содержать дополнительные файлы.
  • На компьютерах, где установлено 2 (SP2) для SQL Server 2000 — исправление 8.00.0702. Если установлен SQL Server 2000 SP3 установки SQL Server 2000 SP3 накопительный пакет обновлений версия 8.00.0765.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Microsoft, перечисленных в разделе «Относится к». Сначала исправление этой проблемы появилось в пакете обновления 4 (Sp4) для SQL Server 2000.

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

Как исправление 8.00.0702, позволяя снизить конфликты

Исправление 8.00.0702 представляет алгоритм циклического выделения смешанных страниц. Исправление начальный файл теперь будут отличаться для каждого выделения последовательных смешанных страниц (если существует более одного файла). Это избежать конкуренции путем разбиения вверх в поезде, исследовала SGAMs в том же порядке каждый раз с той же начальной точке. Новый алгоритм распределения SGAM чисто циклического — не отвечает полного заполнения для поддержания скорости. Корпорация Майкрософт рекомендует создавать База данных tempdb файлы данных с помощью того же размера.

Способ реализации флаг трассировки-T1118, позволяя снизить конфликты

Ниже приведен список того, как использовать -T1118 снизить конфликты:
  • -T1118 параметр уровня сервера.
  • Включить -T1118 Трассировка флаг в поле Параметры запуска для SQL Server таким образом, флаг трассировки остается в силе, даже после перезапуска SQL Server.
  • -T1118 устраняет практически все распределения одной страницы на сервере.
  • Путем отключения большинство распределения одной страницы, Уменьшите конфликты на страница SGAM.
  • С помощью -T1118 состоянии ON, почти все новые распределения выполняются из GAM страницы (например, 2: 1: 2), выделяет восемь (8) страниц (1 степени) за один раз Объект, в отличие от по одной странице из экстента для первого восьми (8) страницы объект без флага трассировки.
  • IAM-страницы по-прежнему использовать выделения одной страницы из страница SGAM даже с -T1118 включен. Тем не менее в сочетании с исправлением 8.00.0702 и увеличить База данных tempdb файлы данных, в итоге получается снижение конкуренции на Страница SGAM. Вопросы пространства содержатся в разделе «Недостатки» этого в статье.
Примечание При включении флага трассировки 1118 для экземпляра SQL Server 2000 не сможет успешно восстановить базу данных SQL Server 7.0. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
837938Может появиться сообщение об ошибке при попытке восстановить резервную копию базы данных SQL Server 7.0 на экземпляр SQL Server 2000

Увеличьте число файлов данных tempdb с равными изменения размера

Если размер файла данных База данных tempdb 5 ГБ, а размер файла журнала составляет 5 ГБ, рекомендуется Увеличьте одного файла данных до 10 (каждый из 500 МБ для сохранения размеров равны), и оставить файл журнала как. Наличие файлов данных на разных дисках было бы хорошо. Однако это не является обязательным, и они могут сосуществовать на одном диск.

Оптимальное количество База данных tempdb файлы данных, зависит от степени конкуренции в База данных tempdb. В качестве отправной точки можно настроить База данных tempdb Чтобы быть по крайней мере равно числу процессоров, назначенный для SQL Сервер. Для начала выше конечных систем (например, 16 или 32 процесса), номер может быть 10. Конкуренции не уменьшается, может потребоваться увеличить количество данных файлов больше.

Примечание Двухъядерный процессор рассматривается как два процессора.

Равно размеров файлов данных Критическая, так как алгоритм полного заполнения зависит от размера файлы. Если файлы данных создаются с разной размеры полного заполнения алгоритм пытается использовать несколько для распределения GAM вместо наибольшего файла Распространение выделения между файлы, тем самым бессмысленным Создание нескольких файлов данных.

Для автоматического увеличения База данных tempdb файлы данных могут также влиять на полного заполнения алгоритм. Таким образом она может быть хорошей идеей, чтобы отключить функцию автоматического увеличения для База данных tempdb файлы данных. Если отключить параметр автоматического увеличения необходимо сделать Убедитесь, что для создания файлов данных, так что они достаточно велик, чтобы предотвратить возникла нехватка места на диске с сервера База данных tempdb.

Как все большее число файлов данных tempdb с равными изменения размера, позволяя снизить конфликты

Ниже приведен список как все большее число База данных tempdb файлы данных с равными изменения размера, позволяя снизить конфликты:
  • С помощью нескольких файлов данных для База данных tempdb, имеется только одна страница GAM и SGAM одностраничный каждого 4 ГБ места.
  • Увеличение числа файлов данных на одинаковые размерыБаза данных tempdb Фактически создает один или более страницами GAM и SGAM для всех данных файл.
  • Алгоритм распределения GAM предоставляет один экстент в число файлов в циклического время (восемь последовательных страниц) во время учитывая полного заполнения. Таким образом Если у вас есть 10 равен размера файлы, первый является File1, второй из файл2, третий из файл3 и т. д.
  • Сокращает конфликты ресурсов страницы PFS, поскольку восемь страниц, помечаются как полного во время так, как выделение GAM страницы.

Недостатки

Единственным недостатком упомянутых рекомендаций ранее это, может появиться после увеличения размера базы данных выполняются следующие условия:
  • Новые объекты создаются в базе данных пользователей.
  • Каждый новый объект занимают меньше 64 КБ памяти.
При соблюдении этих условий может выделять 64 КБ (8 страницы * 8 = 64 КБ) для объекта, который требуется только 8 КБ пространства, таким образом расходу 56 КБ памяти. Тем не менее если новый объект использует более 64 КБ (8 страницы) в это время жизни, не существует никаких недостаток с флагом трассировки. Таким образом, в худшем случае SQL Server может оказаться распределение семь (7) дополнительные страницы во время первого размещения только для новых объектов, которые никогда не выйти за пределы один (1) страницы.

Ссылки

Для получения дополнительных сведений о PFS, IAM, GAM и SGAM в следующих разделах документации по SQL Server 2000:
  • "Управление дисковым пространством Используемые объекты»
  • «Управление размещением экстента и свободного места»
  • "Таблица и Архитектура индекса»
  • «Структур кучи»

Свойства

Код статьи: 328551 - Последний отзыв: 8 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
Ключевые слова: 
kbhotfixserver kbqfe kbsqlserv2000presp4fix kbfix kbbug kbmt KB328551 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:328551

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

 

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