Диагностика в SQL Server 2000 SP4 и более поздних версиях выявить замедлении и запавшая операций ввода-вывода

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

В этой статье

Аннотация

Система управления базами данных (СУБД), таких как SQL Server использует своевременность файл ввода-вывода (I/O) операций. Один из следующих элементов может создать запавшая или приостановлен ли проблем ввода-вывода. Эти проблемы могут быть быстро неблагоприятное влияние на скорость отклика SQL Server и производительности:
  • Неисправность оборудования
  • Оборудование, настроен неправильно
  • Настройка встроенного по
  • Драйверы фильтров
  • Сжатие
  • Ошибки
  • Другие условия в пути ввода-вывода
Эти проблемы ввода-вывода может вызвать происходит следующим образом:
  • Блокировка
  • Конфликтов кратковременной блокировки и тайм-ауты
  • Медленное время отклика
  • Растяжение границ ресурсов
Начиная с SQL Server 2000 с пакетом обновления 4 (SP4), SQL Server содержит логику, которая помогает определить, приостановлен ли и застряли условий для операций чтения ввода-вывода базы данных и запись и чтение журнала файлового ввода-вывода и записи. Когда была ожидающие операции ввода-вывода, 15 секунд или больше, SQL Server выполняет следующие действия:
  1. Определяет, что операция была отложенные.
  2. Записывает информационное сообщение в журнал ошибок SQL Server. Текстовое сообщение следующего вида:

    00:21:25.26 2004 г.-11-11 spid1 SQL Server обнаружил 192 экземпляров запросов ввода-ВЫВОДА превышает 15 секунд для завершения в [E:\SEDATA\stressdb5.ndf] файла базы данных (7) [stressdb]. Дескриптор файла операционной системы — 0x00000000000074D4. Смещение последнего много операций ввода-ВЫВОДА: 0x00000000022000 ".

ОБЪЯСНЕНИЕ информационное сообщение

Свернуть эту таблицуРазвернуть эту таблицу
Текст сообщенияОписание
Номер экземпляровЧисло запросов ввода-вывода, которые не удалось завершить чтение или операция записи в менее чем на 15 секунд.
Сведения о файлахПолное имя файла, имя базы данных и базы данных (DBID) код.
МаркерДескриптор файла операционной системы. Дескриптор операционной системы можно использовать с отладчиками или с другими служебными программами для отслеживания запросов пакетов (IRP) запроса ввода-вывода.
СмещениеСмещение последнего застряли операции ввода-вывода или последнего приостановлен ли операция ввода-вывода. Можно использовать смещение с отладчиками или с помощью других средств, позволяющие отслеживать запросы IRP.

Примечание Если информационное сообщение записывается в журнал ошибок SQL Server, операции ввода-вывода может быть больше не застряли или останавливается.
Это информационное сообщение указывает, что текущей нагрузки может возникнуть одна из следующих условий:
  • Рабочая нагрузка превышает возможности пути ввода-вывода.
  • Рабочая нагрузка превышает текущие возможности системы.
  • Пути ввода-вывода имеет неработающее программное обеспечение; Возможно встроенного программного обеспечения или проблема с драйвером.
  • Пути ввода-вывода имеет неисправными компонентами оборудования.
Для получения дополнительных сведений о шаблонах ввода-вывода для SQL Server 2000 посетите веб-узел корпорации Майкрософт:
http://TechNet.Microsoft.com/en-us/library/cc966500.aspx

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

Запавшая ввода-вывода и замедлении ввода/вывода

Запавшая ввода/вывода

Запавшая ввода-вывода — это запрос ввода-вывода, которая не была завершена. Как правило запавшая ввод-вывод является запавшая IRP. Для устранения запавшая условие ввода-вывода, обычно необходимо перезагрузить компьютер или выполнить подобное действие. Запавшая условие ввода-вывода обычно указывает одно из следующих:
  • Неисправность оборудования.
  • Ошибка в компонент пути ввода-вывода.

Невыполненный ввода/вывода

Невыполненный ввода-вывода — это запроса ввода-вывода, завершения. Однако операции ввода-вывода занимает чрезмерное времени. Невыполненный ввода-вывода обычно происходит из-за одной из следующих причин:
  • Конфигурация оборудования.
  • Настройка встроенного по.
  • Проблема драйвер фильтра, необходимо обратиться за помощью оборудование или программное обеспечение поставщика для трассировки и устранения.

SQL Server, приостановлен ли ввода/вывода и застряли ввода-вывода, запись и создание отчетов

Технической поддержки Microsoft SQL Server обрабатывает во многих случаях каждый год, включающие замедлении или запавшая проблем ввода-вывода. Как описано ниже, эти проблемы ввода/вывода отображаются по-разному. Ошибки ввода-вывода являются некоторые из наиболее сложных проблем для диагностики и отладки. Ошибки ввода-вывода требуют значительных затрат времени и ресурсов для отладки из Microsoft и клиента. Функции отчетности, которые были добавлены 4 (SP4) для SQL Server 2000 и более поздних версиях значительно сократить время, необходимое для идентификации проблемы ввода-вывода.

Отчеты и записи запросов ввода-вывода предназначены отдельно для каждого файла. Обнаружение и отчетность по приостановке и запавшая запросов ввода-вывода, два отдельных действий.

Запись

Существует два размещения в SQL Server, где выполняются действия записи. Первое место в какие записи происходит, — где фактического завершения операции ввода-вывода. Если запрос ввода-вывода более 15 секунд, происходит операция записи. Второе место в какие записи происходит, — при выполнении отложенной записи. При выполнении ' ленивой ' записи ' ленивой ' записи проверяет все отложенные данные и все журнала, ожидающие запросы ввода-вывода файла. В случае превышения порогового значения 15 секунд происходит операция записи.

Отчетность

Отчетов происходит с интервалом, 5 минут или более, друг от друга. Отчетов возникает при записи следующего запроса ввода-вывода для этого файла. Если произошло действие записи и не менее 5 минут, прошедших с момента возникновения последнего отчета информационное сообщение, описанное в разделе «Аннотация» записывается в журнал ошибок SQL Server.

Пороговое значение 15 секунд не является регулируемым. Тем не менее можно отключить с помощью флага трассировки 830 замедлении и запавшая обнаружение ввода-вывода, но не рекомендуется делать это.

Чтобы отключить обнаружение при запуске SQL Server, с помощью параметра запуска - T830. С помощью - T830 параметра запуска отключит обнаружение каждый раз при запуске SQL Server. Чтобы отключить обнаружение для экземпляра SQL Server, которая выполняется в данный момент, используйте следующую инструкцию:

Инструкция DBCC traceoff (830, -1)

Этот параметр действует только в течение жизненного цикла процесса SQL Server.

Примечание Запрос ввода-вывода, который становится останавливается или застряли выводится только один раз. Если сообщение о том, что 10 запросов ввода-вывода приостановлен ли, эти 10 отчетов снова не происходит. Если следующее сообщение о том, что 15 запросов ввода-вывода приостановлен ли, это означает, что становятся останавливается 15 новых запросов ввода-вывода.

Отслеживание пакет запроса ввода-вывода (IRP)

SQL Server использует стандартные вызовы Microsoft Windows API для чтения и записи данных. Например SQL Server использует следующие функции:
  • WriteFile
  • ReadFile
  • WriteFileScatter
  • ReadFileGather
Чтение или запись запрос обрабатывается Windows как пакет запроса ввода-вывода (IRP). Для определения состояния IRP, используйте следующие:
  • Поддержка платформы Майкрософт за помощью.
  • Отладчик ядра.
Для получения дополнительных сведений о IRP и IRP трассировка, посетите следующий веб-узел Майкрософт и поиск по ключевому слову «irp»:
http://support.microsoft.com
Примечание Отладку ядра может быть активным процессом, поскольку отладки ядра может потребовать остановки системы для завершения отладки действия. Рекомендуется, чтобы увидеть, если имеются какие-либо обновления для следующих элементов:
  • BIOS
  • Встроенное по
  • Другие компоненты пути ввода-вывода
Обратитесь к поставщикам оборудования, прежде чем выполнить дополнительные действия по отладке. Сеанс отладки скорее всего включает драйвер стороннего, микропрограммы или компонент драйвера фильтра.

Производительность системы и запросов планов действий

Общая производительность системы можно играют ключевую роль в обработке ввода/вывода. Общие состояния системы следует принимать во внимание при изучении отчеты о замедлении или запавшая операций ввода-вывода. Чрезмерная загрузка может привести к общей системе медленным. Это включает в себя обработку ввода-вывода. Поведение системы в то время, проблема может быть ключевым фактором в определении основной причины проблемы. Например если становится высокая загрузка ЦП или ЦП остается высокой, когда возникла проблема, такое поведение может означать, что процессов в системе с использованием ЦП так много, что другие процессы, негативно влияют.

Счетчики производительности

Для контроля производительности ввода/вывода, проверьте следующие счетчики производительности для конкретных сведений о пути ввода-вывода:
  • Среднее число дисков сек
  • Средняя длина очереди диска
  • Текущая длина очереди диска
Например среднее Disk Sec/Transfer времени на компьютере, на котором запущен SQL Server является обычно не превышает 15 миллисекунд. Если покоряет значение средней Disk Sec/Transfer, это означает, что подсистемы ввода-вывода — это не справляется с запросом на ввод-вывод.

Будьте осторожны со счетчиками производительности, так как SQL Server использует все преимущества асинхронного ввода-вывода возможностей, которые сильно push длина очереди диска. Таким образом диск очередь длины сами по себе не указывает на проблему.

В системном мониторе Windows можно просмотреть счетчики "Физический диск: диск/сек" для каждого влияет на диске и сравнить скорость действия со счетчиками «Процесс: ввода-ВЫВОДА данных байт/сек» и "процесс: IO других байт/сек» для каждого процесса для идентификации ли определенный набор процессов создает чрезмерное ввода/вывода запросов. Существуют другие ввода/вывода, связанные с счетчики доступны в процессе объект, который раскрывает более подробные сведения. Если выяснится, что экземпляр SQL Server является ответственным за чрезмерной нагрузки ввода-ВЫВОДА на сервере, просмотрите следующий раздел «Индексы и параллелизма». Для подробного обсуждения на обнаружение и устранение узких мест ввода-вывода ознакомьтесь с разделом «Узкие места ввода-вывода» в документе MSDN Устранение проблем с производительностью в SQL Server 2008 -или- Устранение проблем производительности SQL Server 2005.

Индексы и параллелизм

Как правило ввода и вывода образуются из-за отсутствия индекса. Такое поведение может сильно push пути ввода-вывода. Проход с индексом Включение мастера (ITW) могут способствовать решению давление ввода-вывода в системе. Преимущества от индекса вместо проверки таблицы или возможно даже использует сортировку или хэш-запроса, система может получить следующие преимущества:
  • Уменьшение физического ввода-вывода для завершения операции, которая непосредственно указывает на повышение производительности запроса.
  • Меньшее количество страниц в кэше данных нужно вернуть. Таким образом эти страницы, находящиеся в кэше данные остаются соответствующим активных запросов.
  • Сортировка и хэш-коды используются потому, что индекс может отсутствовать или статистические данные являются устаревшими. Можно снизить База данных tempdb Использование и конкуренции путем добавления одного или нескольких индексов.
  • Снижение количества ресурсов, сокращения параллельных операций или оба. Поскольку SQL Server не гарантирует параллельного выполнения запроса, и считается нагрузку на систему, лучше оптимизировать все запросы для последовательного выполнения. Для оптимизации запроса, открыть Query Analyzer и установить значение хранимой процедуры sp_configure из Максимальная степень параллелизма вариант 1. Если все запросы настроены для запуска своевременно последовательной операции, параллельное выполнение часто является просто лучший результат. Однако многие время параллельного выполнения выбран из-за достаточно большого объема данных. Для отсутствующего индекса большие сортировки, возможно, произойдет. Скорость реакции создает несколько исполнителей, выполняющих операции сортировки. Тем не менее это действие может значительно увеличить давление в системе. Больших запросов чтения из многих работников может привести к пакетов ввода-вывода с повышенной загрузке ЦП из нескольких сотрудников. Много раз запрос могут быть настроены работать быстрее и использовать меньше ресурсов, если добавляется индекс или другое действие настройки.

Практические примеры в службе поддержки Microsoft SQL Server

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

Пример 1: Записи в журнал, застывает в течение 45 секунд

Попытка записи файла журнала SQL Server периодически стал зависнуть примерно на 45 секунд. Записи журнала не своевременного завершения. Такое поведение блокировки условие, которое привело к время ожидания 30 секунд клиент создан.

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

Для получения дополнительных сведений об операции обработки и блокировка, щелкните следующий номер статьи базы знаний Майкрософт:
224453Понимание и устранения проблемы блокировки 2000 или SQL Server 7.0
Приложение обслуживание веб-узла с использованием пула подключений. Как стал заблокировано несколько подключений, веб-узел создается несколько подключений. Эти соединения стала заблокированы и продолжение цикла.

Около 45 секунд, после завершения записи журнала. Однако в настоящее время сотен подключений были заархивированы. Блокирующих проблем привел несколько минут времени восстановления SQL Server и приложения. В сочетании с проблемами приложения замедлении условие ввода/вывода содержит очень отрицательного влияния в системе.
Разрешение
Проблема была отслежена запавшая запрос ввода-вывода драйвера адаптера шины узла (HBA). Компьютер имеет несколько адаптеров HBA с поддержкой перехода на другой ресурс. Когда один сетевой Адаптер был позади или был не обмениваются данными с помощью сети хранения (SAN), значение тайм-аута «повторов до перехода на другой ресурс» был настроен на 45 секунд. Когда превышено время ожидания, запрос ввода-вывода был направлен второй HBA. Второй HBA обрабатывается запрос и быстро завершена. Для предотвращения подобных ситуаций зависания, изготовитель оборудования рекомендуется использовать параметр «Повторить до перехода на другой ресурс» 5 секунд.

Пример 2: Вмешательство фильтров

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

Такое условие было драйвер фильтра для резервного копирования обработки, разрешенные резервные копии файлов, которые были открыты, если с момента резервного копирования. Системный администратор включенные в каталог файлов данных SQL Server в выбранных файлов. С момента резервного копирования, резервное копирование пытался собрать правильное изображение из файла на момент начала резервного копирования. При этом задержки запросов ввода-вывода. Запросов ввода-вывода были разрешены только выполнить по одному, как они были обработаны программным обеспечением.

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

Пример 3: Скрытые ошибки

Во многих системах выше конечного имеют многоканальный каналов ввода/вывода для обработки балансировки нагрузки или подобные действия. Технической поддержки корпорации Майкрософт обнаружила проблемы с программным обеспечением, где происходит сбой запроса ввода-вывода, но программное обеспечение неправильно обрабатывает ошибку балансировки нагрузки. Программное обеспечение может попытаться выполнить бесконечной повторов. Операции ввода-вывода становится застряли и SQL Server не удается завершить указанное действие. Подобно тому как журнал написать условие, которое было описано ранее, многие из них плохой системы может произойти после таких условий wedges системы.
Разрешение
Для решения этой проблемы, перезапуска SQL Server часто является обязательным. Тем не менее иногда необходимо перезагрузить операционную систему для восстановления обработки. Кроме того, рекомендуется получить обновления программного обеспечения от поставщика ввода-вывода.

Пример 4: Внешнее хранилище, зеркалирование и Raid диски

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

Увеличение общего времени ввода/вывода происходит, когда необходимо завершить ввод-вывод на зеркальный сервер перед завершением ввода-вывода. При установке удаленного зеркало можно вовлечены повторов сети. При сбоях дисков и перестройка системы raid, шаблон ввода/вывода также может быть прерван.
Разрешение
Строгая настройки необходимы для уменьшения задержки зеркала или операций перестроения raid.

Пример 5: сжатие

Корпорация Майкрософт не поддерживает Microsoft SQL Server 7.0 или Microsoft SQL Server 2000 файлов данных и файлов журнала на сжатых дисках. Сжатие NTFS не является безопасным для SQL Server, поскольку сжатие NTFS прерывает запись упреждающее ведение журнала Упреждающей записью протокола. Сжатие файлов NTFS также требует повышения обработки для каждой операции ввода-вывода. Сжатие «по одному» создается как поведение, которое вызывает существенное снижение производительности происходит.
Разрешение
Чтобы устранить эту проблему, распакуйте файлы данных и журналов.

Дополнительные данные точек

Сведения о типе ожидания, содержащуюся в sysprocesses Системная таблица может быть полезным при диагностике узких мест ввода-вывода. Типы Ожиданий кратковременной блокировки буфера ввода/вывода и ожиданий writelog, ключевых показателей для исследования производительности пути ввода-вывода.

Для получения дополнительных сведений о типах ожидания щелкните следующий номер статьи базы знаний Майкрософт:
822101Описание waittype и lastwaittype столбцов в таблице master.dbo.sysprocesses в SQL Server 2000 и SQL Server 2005

Ссылки

231619 Использование программы SQLIOStress для нагрузочного дисковой подсистемы, такие как SQL Server
826433 Дополнительные возможности диагностики SQL Server для выявления недокументированных проблем ввода-вывода
230785 Алгоритмы хранения данных и ведения журнала SQL Server 7.0, SQL Server 2000 и SQL Server 2005 повышают надежность данных
SQL Server требует систем для поддержки «гарантированная доставка стабильной носитель», как описано в рамках программы Microsoft SQL Server Always-On хранения решений рецензирования. FOДля получения дополнительных сведений о требованиях к входной и выходной ядро СУБД SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
967576Требования К модуль ввода/вывода серверной базы данных Microsoft SQL

Свойства

Код статьи: 897284 - Последний отзыв: 19 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
Ключевые слова: 
kbinfo kbtshoot kbsqlserv2000sp4fea kbmt KB897284 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:897284

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

 

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