Діагностика у SQL Server виявити уповільнена зйомка та актуальних операцій вводу та виводу

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 897284
Підсумки
Система Керувати базами даних (СУБД), наприклад, SQL Server використовує своєчасність файлу вводу та виводу (вводу-виводу) операції. Один із таких елементів може призвести до операцій вводу та актуальних або стійлове і негативно вплинути на SQL Server реагування та продуктивність:

  • Дефектні обладнання
  • Неправильна корегувати устаткування.
  • Мікропрограма параметри.
  • Драйвери фільтрів
  • Стискання
  • Помилки
  • Інші умови, що шлях вводу-виводу
Така поведінка виникає може призвести до цих проблем для вводу-виводу:

  • Блокування
  • Язичок твердження і Вільний час очікування
  • Довгий Вільний час відгуку часу.
  • Розтягнення ресурсів меж
SQL Server, починаючи з Microsoft SQL Server 2000 з пакетом оновлень 4 (SP4), містить логіку, що допомагає визначити, що зупинився і застрягли умов для бази даних вводу-виводу, читання та записування та журналу файлу вводу-виводу операцій читання та запису. Під Вільний час виконання операції вводу-виводу було очікування протягом 15 секунд або більше, SQL Server, виконує такі дії:

  1. Визначає, що були операцію очікування
  2. Журнал помилок SQL Server записує Інформаційне протокол IMAP.

    Текст до журналу протокол IMAP приблизно такого вигляду:

    2004-11-11-00:21:25.26 spid1 SQL Server виявлено 192 occurrence(s) запитів вводу-ВИВОДУ більше часу, ніж 15 секунд до кінця, файл [E:\SEDATA\stressdb5.ndf] у базі даних, [stressdb] (7). Дескриптором файлу операційної системи, є 0x00000000000074D4. Зсув останні багато вводу-ВИВОДУ, це: 0x00000000022000 ".

Інформаційне протокол IMAP пояснення

текстове протокол IMAPОпис
Номер > occurrence(s)Кількість запитів вводу-виводу, не завершено, читання або записування операцію менше 15 секунд.
Відомості про файлиПовне ім'я, ім'я бази даних а також число бази даних системи (DBID).
Маркеропераційна система (ОС), дескриптор файлу. Можна використовувати операційної системи, маркер зневадники або з інших утиліт для відстеження запити пакет (IRP) на запит вводу-виводу.
ЗсувЗсув останнього застрягли в операцію вводу-виводу або останнього зупинився, операцію вводу-виводу. Можна використовувати зсув зневадники або з інших утиліт для відстеження IRP запити.

Примітка. Коли Інформаційне протокол IMAP, записується до журналу помилок SQL Server, операції вводу-виводу може більше не буде застрягли або зупинився.
Інформаційні протокол IMAP вказує на те, що поточні завантаження можуть виникнути одне з наведених нижче умов.

  • Навантаження, є більше можливостей шлях вводу-виводу.
  • Навантаження, є перевищує можливості поточної системи.
  • Шлях вводу-виводу, є неправильна робота програми; Можливо мікропрограми або драйвер питання.
  • Шлях вводу-виводу, є неправильна робота апаратні компоненти.
Щоб отримати додаткові відомості про SQL Server 2000 вводу-виводу, шаблони, перейдіть на веб-сайт корпорації Майкрософт.Примітка. У цій статті на сайті TechNet також стосується Microsoft SQL Server 2005 і пізніших версій.
Додаткові відомості

Актуальних вводу та стійлове вводу-виводу.

Актуальних вводу-виводу.

Актуальних вводу-виводу, визначається як запит на змінення вводу-виводу, які не завершується. Часто застрягли вводу вказує на те актуальних IRP. Для вирішення актуальних стан вводу-виводу, потрібно зазвичай перезавантаження комп'ютера або виконання подібних дій. Актуальних стан вводу-виводу, як правило, причиною одну з таких дій:

  • Дефектні обладнання
  • Помилка в компонент шлях перевірка вводу-виводу

Стійлове вводу-виводу.

Стійлове вводу-виводу, визначається як запит вводу-виводу, Готово або що вимагає надмірне часу до кінця. Стійлове вводу-виводу, поведінку, зазвичай, відбувається через одну з таких причин:

  • Конфігурації обладнання
  • Настройки мікропрограм
  • фільтр-драйвер питання, де потрібна допомога, обладнання або програмного забезпечення, для відстеження та вирішення

SQL Server, зупинився вводу-виводу і застрягли вводу-виводу, запис А і звітування

Служба підтримки Microsoft SQL Server працює в багатьох випадках рік, що пов'язані проблеми з застрягли або стійлове вводу-виводу. Ці проблеми з вводу-виводу, що відображаються по-різному. Вводу-виводу проблем, які найбільш складні проблеми, діагностика та налагодження, і вони вимагають Вільний час та ресурси для налагодження корпорації Майкрософт а також від клієнта. Функціями звітування, додані до SQL Server 2000 SP4 немає і пізніших версій значно скоротити Вільний час, потрібний для виявлення проблеми, з вводу-виводу.

Звітність і запис А запитів вводу-виводу, створені на основі окремих файлів. Виявлення та звітування про запитів вводу-виводу, уповільнена зйомка та актуальних, є дві окремі інтерактивні елементи.

Записування

Є дві хвилини, запис А дію, коли відбувається на SQL Server. По-перше, під Вільний час операції вводу-виводу, які фактично буде завершено. Якщо більше 15 секунд, щоб завершити запит для вводу-виводу, виникає операції для записування. Другий момент є, під Вільний час укладача ледачий. Під Вільний час ледачий Укладач ледачий Укладач перевіряє, очікування даних і очікування журнал файл запитів вводу-виводу. Операції запису за допомогою виникає, Якщо перевищено 15 секунд-граничне значення.

Звітування

Звітування, що виникає у інтервали, 5 хвилин або більше відстані. Звітування про виникає після наступного запит на змінення вводу-виводу файлу. Якщо під Вільний час записування дію, і 5 хвилин або більше із часу останнього звіту сталася, інформаційні протокол IMAP, описане в розділі "Загальні відомості", що записується до журналу помилок SQL Server.

Не регулюється за граничне значення 15 секунд. Проте можна вимкнути виявлення, стійлове або актуальних вводу-виводу за допомогою прапор трасування 830, хоча це не рекомендовано, що цього.

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

DBCC traceoff, (830, -1)
Цей параметр є дійсні тільки для усього процесу SQL Server.

Примітка. Запит вводу-виводу, який стає зупинився, або застрягли повідомив лише один раз. Наприклад, якщо протокол IMAP повідомляє, що 10 вводу-виводу, запити мають зупинився, ці 10 звіти не відбудеться знову. Якщо наступне протокол IMAP повідомляє, що 15 вводу-виводу, запити мають зупинився, це означає, що стати зупинився 15, новий запитів вводу-виводу.

Відстеження пакет запит на змінення вводу-виводу (IRP)

SQL Server використовує стандартних викликів в Microsoft Windows API, щоб читати та записувати дані. Наприклад, у SQL Server використовує такі функції:

  • WriteFile
  • ReadFile
  • WriteFileScatter
  • ReadFileGather
Читання або записування запит обробляється Windows, як пакет запитів вводу-виводу (IRP). Для визначення стану IRP, скористайтеся наведеними нижче:

  • Служба підтримки Microsoft платформи допомога
  • Налагоджувач ядра
Щоб отримати додаткові відомості IRP IRP трасування, перейдіть на такий веб-сайт Microsoft і пошук ключовим словом "IRP":Примітка. Налагодження ядра можна з інвазивного процесу, тому що налагодження ядра може вимагати зупинити системи, щоб виконати налагодження інтерактивні елементи. корпорація Майкрософт рекомендує, що, перевірте, чи всі доступні оновлення для таких елементів:

  • BIOS
  • Мікропрограми
  • Будь-які інші компоненти шлях вводу-виводу
Зверніться до апаратного забезпечення, перш ніж виконувати додаткові інтерактивні елементи з налагодження. Сеанс налагодження пов'язано сторонніх виробників драйвера, мікропрограми або драйвер компонент.

Продуктивність системи та запит план поверху дій

Загальна продуктивність системи можуть відіграють ключову роль вводу-виводу обробки. Загальні справності системи потрібно взяти до уваги, якщо ви є досліджують звіти про операцій вводу-виводу, стійлове або актуальних. Надмірне навантаження може призвести до системи в цілому повільно. пакет оновлень містить вводу-виводу обробки. Поведінка системи під Вільний час роботи, проблема виникає, може бути ключовим фактором у визначенні причину проблеми. Наприклад, якщо сценарій виконання ЦП стає високий або ЦП залишається високою, коли виникає проблема, це може означати, що будь-який процес в системі, використовуючи багато процесора, що інші процеси Вільний час негативно впливає.

Лічильники продуктивності

До монітору вводу-виводу, перевірте наступні лічильники продуктивності для вводу-виводу шлях відомості:

  • Середня дублювання диска с/передавання
  • Довжина черги диска, середнього
  • Поточна довжина черги диска
Наприклад, середня дублювання диска с/передавання Вільний час на комп'ютері під керуванням сервера SQL Server, як правило, менше 15 мілісекунд. Якщо значення середній дублювання диска с/передавання сходження, це означає, що підсистеми вводу-виводу не є оптимальним збереження з вимогою вводу-виводу.

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

Windows системний монітор, ви можете переглянути лічильника "фізичного диска: дублювання диска байт/с" для кожної з яких він застосовується, дублювання диска і порівняти рівень активності, від лічильника "процес: вводу-ВИВОДУ даних байт/с" і "процес: вводу-ВИВОДУ інші байт/с" для кожного процесу, щоб визначити, чи на кількість процесів, який генерує надмірну кількість запитів. Існують різні вводу-виводу, пов'язані з лічильників, доступних у процесі об'єкт, більш зернистою інформації, що розкриває. Якщо вам визначити, чи відповідає за перевантажено вводу-ВИВОДУ на сервері до екземпляра SQL Server, перегляньте на наступний розділ на "Індексів, і паралелізм". Для обговорення детальні на виявлення та вирішення вводу-виводу, вузькі місця, перегляньте розділ "вводу-виводу" вузькі місця "" інформаційний MSDN Усунення неполадок продуктивності в SQL Server 2008 АБО Усунення неполадок продуктивності в SQL Server 2005.

Показники і паралелізму

Часто черг, системи вводу-виводу виникнути індекс відсутній. Така поведінка може завдає натиснути шлях вводу-виводу. Прохід, який використовує в індексі перетворення майстер (ITW), можуть допомогти вирішити вводу-виводу під Вільний час підвищеного навантаження на систему. Якщо запит на прилягає індекс замість таблиці пошуку або може бути, якщо використовується сортування, або геш, система може отримати такі переваги:

  • Зменшення проводиться фізичних вводу-виводу, які потрібно виконати інтерактивні елементи, безпосередньо, створює переваги продуктивності для запит на змінення.
  • Зменшено кількість сторінок в кеші даних, потрібно буде передано. Таким чином, ті сторінки, які містяться в кеші дані залишаються відносно активної запитів.
  • Сортування та хеші використовується, оскільки індекс можуть бути відсутні або статистики застаріли. Ви можете знизити бази даних tempdb сценарій виконання і твердження, додавши один або кілька індексів.
  • Зменшення проводиться ресурси, паралельні операції або обидва. Через те, що SQL Server не гарантує виконання паралельної запит на змінення, а також через те, що навантаження на систему вважається, рекомендовано оптимізувати всі запити до послідовного виконання. Щоб оптимізувати запит, відкрийте Query Analyzer і встановити на sp_configure значення. з на Максимальна кількість ступінь паралелізму спосіб 1. Якщо всі запити мають налаштований для запуску відразу, як серійний операції, одночасне виконання часто є кращий результат. Однак багато разів паралельного виконання вибрано через великий обсяг даних. Для індексом відсутні великі якийсь може знадобитися виникають. Кілька робочих, які виконують сортування створює швидше відповідь. Ця дія значно можна збільшити під Вільний час підвищеного навантаження на систему. Великі запити на читання з багато працівників може призвести до розриву з вводу-виводу, разом із підвищення процесора від кількох робочих. Натискаючи запит на змінення можуть бути настроїв швидкодію та сценарій виконання менше ресурсів, якщо індекс, або якщо інший налаштування дій.

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

Нижче наведено приклади оброблятися представник служби підтримки клієнтів Microsoft SQL Server а також платформ консультативної підтримки. Ці приклади мають на меті забезпечити відліку і допомогу, набір вашим очікуванням зупинився і застрягли вводу-виводу ситуації і про те, як система може впливати або може відповідати. Немає конкретних обладнання або набір драйверів, які створюють будь-якого конкретного ризик або збільшенням ризику з іншого. Усі системи однакові у зв'язок "один-до-одного" з цим.

Приклад 1: Журналу записування, яке застрягло 45 секунд.

Спроби записування файлу журналу SQL Server, Вільний час від часу, стає застрягли приблизно в 45 секунд. запис А журналу своєчасно не завершується. Така поведінка, створює блокування умови, що викликає вичерпання часу очікування на 30 секунд клієнт.

Застосунок, надіслано на здійснення SQL Server, а також виконання стає застрягли в якості записування до журналу. Це спричиняє запит, щоб і надалі, утримуючи locks і блокувати вхідні запити від інших клієнтів. Після цього часу очікування почати інших клієнтів. Це з'єднань проблема в тому, що застосунок не відкотити відкрити операцій під Вільний час очікування запит на змінення. Створено сотні відкрити транзакцій, що утримується locks. Таким чином, відбувається блокування серйозні ситуації.

Щоб отримати додаткові відомості про операцію обробки а також блокують див. таку статтю бази знань Майкрософт:Застосунок служб веб-сайт, використовуючи підключень. Як на інших підключень заблокований, веб-сайт, створює додаткові підключення. Заблокований такі підключення та цикл і раніше.

Після приблизно 45 секунд записування до журналу буде завершено. Проте на цей Вільний час, сотні підключення резервного копіювання. Блокування проблеми викликати кілька хвилин Вільний час відновлення, SQL Server та застосунок. У поєднанні з проблеми застосування стійлове стан вводу-виводу, має негативно в системі.
Вирішення
Цю проблему було виявили актуальних запит на змінення вводу-виводу на драйвера хост адаптера шини (HBA). комп’ютер-зразок був на кількох HBA карт, обсяг підтримки для відновлення після відмови. Один HBA було за, або не обміну даними із онлайнове пул носіїв локальної мережі (SAN), "повторити спробу, перш ніж відновлення після відмови" очікування було налаштовано 45 секунд. Під Вільний час перевищено тайм-ауту запит на змінення вводу-виводу було надіслано другий HBA. Другий HBA обробляє запит і швидко завершено. Щоб уникнути стійло умовах виробник устаткування, рекомендується параметр "повторити спробу, перш ніж відновлення після відмови" 5 секунд.

Приклад 2: Фільтр-драйвер втручання

Антивірусне Підтримка програмного забезпечення і продукти, використовувати драйвери фільтрів в вводу-виводу. Драйвери фільтрів вводу-виводу стати стек запит на змінення вводу-виводу, і вони мають доступ до IRP запит. представник служби підтримки клієнтів продуктів Microsoft, спостерігається різні проблеми з помилок, які створюють застрягли вводу-виводу умов, або зупинився умов вводу-виводу на виконання фільтр-драйвер.

Одним з таких умов, було фільтр-драйвер для резервного копіювання обробки, що архівувати файлів, які були відкриті, під Вільний час резервного копіювання, сталася. системний адміністратор було включено вибрані резервні копії файлів каталогу файл даних 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 відновлення операцій.

Щоб отримати додаткові відомості перегляньте Вимоги до SQL Server для підтримки, віддаленого створення дзеркал користувацьких баз даних.

Наприклад, 5: стискання

корпорація Майкрософт не підтримує Microsoft SQL Server 7.0 або Microsoft SQL Server 2000-файли даних та журналів, на стиснутих дисках. Стискання для NTFS не є безпечною для SQL Server через те, що стискання для NTFS, порушує записування вперед журналювання (WAL) протоколу. Стискання для NTFS, також вимагає підвищення обробки для кожної операції з вводу-виводу. Стискання створює "один раз", як поведінка, яка викликає серйозні продуктивність проблеми вирішено.
Вирішення
Щоб вирішити цю проблему, розпакування, даних та журналів.

Щоб отримати додаткові відомості перегляньте Опис підтримки для баз даних SQL Server, стиснутих томів..

Додаткові дані.

PAGEIOLATCH_ * та writelog очікування у sys.dm_os_wait_stats динамічного керування (DMV), які ключові індикатори дослідити вводу-виводу шлях продуктивності. Якщо значних PAGEIOLATCH-очікування, це означає, що SQL Server, що очікує на підсистеми вводу-виводу. Обсяг PAGEIOLATCH очікування є типовим і очікувана поведінка. Проте, якщо середній PAGEIOLATCH чекати часу, послідовно, більше 10 мілісекунд (у мілісекундах), ви повинні досліджувати, чому вводу-виводу підсистема розміщено під Вільний час підвищеного навантаження. Щоб отримати додаткові відомості див. такі документи:



SQL Server потребує, що підтримує системи "гарантовано доставки стабільного носій" як зазначено в розділі вимоги до програми підвищення надійності сервера вводу-виводу SQL. Щоб отримати додаткові відомості про вимоги до обробника баз даних SQL Server вводу та виводу, зверніться до такої статті в базі знань Майкрософт:

Вводу-ВИВОДУ, EventID 833

Попередження. Цю статтю переведено автоматично

Властивості

Ідентифікатор статті: 897284 – останній перегляд: 10/01/2015 04:48:00 – виправлення: 1.0

Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Enterprise Core, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Business Intelligence, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Enterprise

  • kbinfo kbtshoot kbsqlserv2000sp4fea kbmt KB897284 KbMtuk
Зворотний зв’язок