Значения времени SQL Server может быть неправильным, при использовании средства и технологии, изменение частоты Процессора

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

В этой статье

Аннотация

Microsoft SQL Server 2005 использует ЦП счетчика высокой точности для обеспечения возможности синхронизации микросекунд. Микросекунд, millionth одной секунды (или одна тысячная миллисекунды). Тем не менее значения времени SQL Server может быть неправильным, при использовании технологий, изменение частоты Процессора. Например эта проблема может возникнуть при использовании следующих технологий:
  • Процессор степпинг
  • AMD Cool'n'Quiet технологии
  • Различные схемы управления питанием
Эта статья содержит дополнительные сведения, которые помогут избежать возникновения этой проблемы и методы.

Проблема

Отображать выполнение сервера, синтаксического анализа и времени компиляции с помощью инструкции SET STATISTICS TIME можно получить неверные значения. Например можно заметить, что гораздо больше, чем время ЦП, затраченное время от времени выполнения SQL Server. Эта проблема может повлиять на точность настройки производительности. Эта проблема возникает при использовании одной из технологий, перечисленных в разделе «Аннотация» на сервере.

Причина

Эта проблема возникает, поскольку изменения частоты Процессора при использовании этих технологий. SQL Server 2005 использует счетчика высокой точности ЦП для обеспечения возможности синхронизации микросекунд. При изменении частоты Процессора для экономии электроэнергии и уменьшить Выделение тепла, рассчитанные длительности может быть неправильным.

Решение

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

Чтобы устранить эту проблему, получите последний пакет обновления для SQL Server 2005. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
913089 Как получить последний пакет обновления для SQL Server 2005
Примечание В пакет обновления 3 (Sp3) для SQL Server 2005 и более поздних пакетов обновления штампа времени процессора не используется. Эти версии SQL Server 2005 с помощью более надежный таймер, который использует максимальную точность 1 миллисекунде.

Статус

Сначала исправление этой проблемы появилось в пакет обновления 3 (Sp3) для SQL Server 2005.

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

SQL Server 2005 требует известных и стабильных данных точки при проведении точных быстродействия. Если на компьютере включена динамических корректировок частоты Процессора, их можно отключить ЦП управление постоянной частоты скорость до начала наблюдения и настройки производительности SQL Server. Чтобы сделать это, используйте следующие методы.

Настройка схемы управления питанием на компьютере, чтобы принудительно ЦП равным максимальной частоты

Чтобы сделать это, выполните следующие действия.
  1. Нажмите кнопку Начало, нажмите кнопку Запустить, тип Команду Powercfg.cpl, а затем нажмите кнопку ОК.
  2. В Свойства: Электропитание диалоговое окно, нажмите кнопку Постоянный В диалоговом окне Схемы управления питанием список.
  3. Нажмите кнопку ОК.
Уход может возникнуть. Уход является расхождения между значениями частоты Процессора. Дополнительные сведения содержатся в разделе «Уход». В этом случае необходимо перезапустить Microsoft Windows для повторной синхронизации частот всех ЦП, после изменения схемы управления питанием.

Если не удается перезагрузить компьютер, включите соответствие процессоров SQL Server предотвратить перемещение между процессорами рабочими потоками SQL Server. При этом нет необходимости перезагрузить компьютер, даже если происходит расхождения между значениями частоты Процессора. Чтобы SQL Server соответствие процессоров для всех процессоров на сервере, необходимо использовать различные маски, в зависимости от количества логических процессоров, которые находятся на сервере.

В следующей таблице перечислены примеры сценариев.
Свернуть эту таблицуРазвернуть эту таблицу
Число ЦПИнструкции для включения схожести процессоров
02 ЦПExec sp_configure 0x00000003 «affinity mask»
ПЕРЕЙТИ
RECONFIGURE
ПЕРЕЙТИ
04 ЦПExec sp_configure 'маска схожести", 0x0000000F
ПЕРЕЙТИ
RECONFIGURE
ПЕРЕЙТИ
08 ЦПExec sp_configure 'маска схожести", 0x000000FF
ПЕРЕЙТИ
RECONFIGURE
ПЕРЕЙТИ
16 ЦПExec sp_configure 0x0000FFFF «affinity mask»
ПЕРЕЙТИ
RECONFIGURE
ПЕРЕЙТИ
32 ЦПExec sp_configure 0xFFFFFFFF «affinity mask»
ПЕРЕЙТИ
RECONFIGURE
ПЕРЕЙТИ
Примечание Он может быть недостаточной для отключения функций вариации тактовой частоты Процессора на уровне BIOS. Различные служебные программы независимых производителей для изменения частоты Процессора. Некоторые реализации включается Коррекция частоты процессоров, в группе Параметры схемы Максимальная мощность. В этом случае необходимо отключить эти служебные программы независимых производителей при выполнении производительности СУБД в SQL Server 2005.

Использовать сторонние утилиты и драйверы для синхронизации счетчиков ЦП часы и частоты Процессора

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

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

Microsoft SQL Server 2000 и более ранних версиях SQL Server с помощью механизмов синхронизации Windows. Точность до миллисекунд значения использовать механизмы синхронизации. Обычно это точность 10-15 г-жа тем не менее, точность может быть 55 мс. Запросы SQL Server часто заканчивается в течение девяти миллисекунды или занимает время микросекунд. Эта точность требует таймер высокого разрешения. Таким образом эти версии отчета SQL Server длительность некоторые запросы как 0 г-жа поэтому трудно следить за производительностью и настройки производительности SQL Server в более ранних версиях SQL Server.

SQL Server 2005 повышает точность с помощью счетчика высокой точности ЦП для предоставления возможности синхронизации микросекунд. При использовании технологий, перечисленных в разделе «Аннотация» значений сообщалось синхронизации, возможно, неверно.

Эта проблема может влиять на следующие объекты и компоненты:
  • События трассировки:
    • В Внимание Событие
    • События в узел сохраненные процедуры
    • События в узле TSQL
    • События в узле объектов
    • События в узле проводки
  • Динамические административные представления:
    • представление sys.dm_exec_query_stats
    • sys.dm_exec_requests
    • sys.dm_exec_sessions
    • sys.dm_io_pending_io_requests
    • sys.dm_os_ring_buffers
    • sys.dm_os_sys_info
    • sys.dm_io_virtual_file_stats
    • sys.dm_os_wait_stats
  • Инструкция SET STATISTICS TIME
  • В sysprocesses Системная таблица
После установки пакета обновления 2 (SP2) для SQL Server 2005, SQL Server регистрирует сообщение об ошибке в журнале ошибок когда SQL Server обнаруживает, что таймеров с высоким разрешением не синхронизированы между процессорами. Сообщение об ошибке указывает, что временные параметры производительности может быть неточным и использованию данных о производительности с осторожностью.

Текст сообщения об ошибке, подобное приведенному одно из следующих сообщений об ошибке:
Сообщение об ошибке 1
Счетчик временных меток ЦП на планировщике с идентификатором 2 не синхронизирована с другими процессорами.
Сообщение об ошибке 2
Частота временной метки ЦП изменилось с 191469 на 1794177 тактов в миллисекунду. Будут использоваться новые частоты
SQL Server использует инструкцию счетчика штампа в режиме реального времени (RDTSC) получить счетчик тактов для 64-разрядных ЦП. Это значение можно разделить по частоте Процессора для преобразования значения в значения миллисекунд. Варианты синхронизации может произойти при возникновении изменений частоты Процессора или отклонений.

Процессор степпинг

Процессор степпинга определяется как преднамеренные изменения в частоте Процессора. Процессор степпинга может также называться как технология Intel SpeedStep или AMD PowerNow! Технология. Когда Процессор степпинга происходит, скорость ЦП может увеличиваться или уменьшаться с шагом 50 МГц для экономии электроэнергии и уменьшить Выделение тепла, по. ЦП, которые находятся в том же узле неоднородной памяти (NUMA) доступ независимо друг от друга не изменять частоту.

В следующей таблице показано, как изменяется степпинг Процессора может повлиять на время вычислений.
Свернуть эту таблицуРазвернуть эту таблицу
ДействиеRDTSC импульсовТактов в миллисекунду (частота)Время часы стены
Запустить пакет12000
Частота шаг вниз2001001 мс
Конец пакета5003ms
ИТОГИ5004ms
SQL Server записывает импульсов RDTSC на начало и конец RDTSC тактов. Затем SQL Server делит значение частоты импульсов.

В этом примере следующие вычисления времени возникать при использовании значение частоты 100 или 200:
  • Частота 200: 500/200 = 2,5 мс
  • Частота 100: 500/100 = 5 мс
Ни один из расчетов времени соответствует времени фактического стены 4 мс.

Если используется этот расчет RPC: завершено события трассировки Duration и End Time столбцы данных отображаются неправильно. В RPC: завершено событие захватывает начального времени часы стены и счетчик тактов ЦП. Для получения более высокого разрешения времени чем Windows предоставляет в SQL Server 2005 Duration и End Time столбцы данных в трассировку SQL Server рассчитываются с использованием астрономической счетчик тактов ЦП. В End Time столбец вычисляется путем сложения Duration столбец Start Time столбец. В этом примере End Time столбец вычисляется добавлением неправильно 2,5 мс или 5 мс время начала.

Уход

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

В следующем примере показано, как уход могут повлиять на результат Duration столбец данных трассировки SQL Server. В этом примере предполагается, что тактовая частота Процессора остается неизменным на 200 тактов в миллисекунду. В следующей таблице приведены события в данной ситуации.
Свернуть эту таблицуРазвернуть эту таблицу
ДействиеЗапланированные Процессора WindowsRDTSC ПРОЦЕССОРА 12 ПРОЦЕССОРА RDTSCВремя часы стены
Запустить пакет110011000
Конец пакета290019004 мс
ИТОГИ4 мс
SQL Server записывает импульсов RDTSC точки старта, так и для конечных точек. Затем SQL Server делит значение частоты импульсов RDTSC. В этом примере Windows планируется рабочий поток SQL Server на двух различных процессорах. Рабочий поток SQL Server, службы пакета сначала выполнялось первого Процессора (CPU 1).

Тем не менее Пакетное выполнение прервано на некотором и SQL Server отправляются выполнение пакетного задания в очереди. Рабочий поток SQL Server, обслуживающий этот пакет в очередь готовых к выполнению еще раз посланной SQL Server Windows отправки потока на Процессор (ЦП 2). Рабочий поток SQL Server завершить выполнение на ЦП 2. Из-за уход ЦП конечное значение тактов, записанная с 2 ЦП было 1900 вместо 900. Такое поведение можно избежать, если включить соответствие процессоров SQL Server.

В этом примере используются следующие вычисления времени:
  • Значение неправильного, но сообщалось: (1900 – 100 = 1800) / 200 = 9 ms
  • Правильное значение: (900 – 100 = 800) / 200 = 4 мс
Значение Duration столбец для RPC: завершено событие будет выступать в качестве 9 ms вместо 4 г-жа получается более чем вдвое правильное значение 4 мс.

Уход предупреждающие сообщения добавляются к SQL Server 2005 для указания того, что выходные данные производительности, упомянутых ранее может быть надежным. В некоторых ситуациях выполнявшегося SQL Server 2005 SP2 может сообщить предупреждающие сообщения о следующем:
  • Значение false, запуская предупреждающих сообщений
  • Уход может стать десятки миллисекунд, не вызывая эффект заметно системы
Будьте внимательны при оценке выходные данные, связанные с производительностью и при сравнении на стене тактовые выходах связанных с производительностью. Если нет никаких признаков другие проблемы производительности, обычно можно проигнорировать уход предупреждающих сообщений. Например обычно игнорируют уход предупреждающие сообщения в следующих ситуациях:
  • Процессы выполняются должным образом.
  • Запросы SQL Server не работают в шаблонах странно durational.
  • Вы не видите знаки других узких мест.
Тем не менее прежде чем пропустить уход предупреждения, мы рекомендуем Вам связаться с производителем, чтобы убедиться, что нет известных проблем RDTSC существует.

Флаг трассировки 8033 (–T8033) можно использовать для возврата для формирования отчетов в исходной версии SQL Server 2005 и SQL Server 2005 с пакетом обновления 1. В исходной версии SQL Server 2005 и SQL Server 2005 с пакетом обновления 1 не о уход предупреждающих сообщений. При использовании исходной версии SQL Server 2005 или SQL Server 2005 SP1 без проблем, обычно можно игнорировать сообщения.

Почему инструкция WAITFOR DELAY работает правильно? Как насчет периодических системные процессы?

Механизм времени ожидания, не подвержены конструктора с высоким разрешением. SQL Server не использует таймер высокого разрешения для действий по таймеру. Некоторые действия тайм-аута основаны на уменьшенное разрешение таймера, который использует GetTickCount функция. Эти действия тайм-аута включают время ожидания блокировки, инструкция WAITFOR DELAY и обнаружение взаимоблокировок.
Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
938448Сервер под управлением Windows Server 2003 могут возникнуть уход штамп времени счетчика, если сервер использует двухъядерных процессоров AMD Opteron или многопроцессорных процессоров AMD Opteron
895980 Программы, использующие функцию QueryPerformanceCounter может нарушаться в Windows Server 2003 и Windows XP
Продукты независимых производителей, обсуждаемые в данной статье, производятся компаниями, независимыми от корпорации Майкрософт. Корпорация Майкрософт не дает явных или подразумеваемых, относительно производительности или надежности этих продуктов.

Свойства

Код статьи: 931279 - Последний отзыв: 18 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Ключевые слова: 
kbtshoot kbexpertiseadvanced kbsql2005engine kbprb kbmt KB931279 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:931279

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

 

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