Diagnostika SQL Server 2000 SP4 a novější verze zjistit zablokované a zablokované vstupně-výstupních operací

Překlady článku Překlady článku
ID článku: 897284 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Systém správy databáze (DBMS), jako je například SQL Server, závisí na aktuálnost soubor vstupních a výstupních (I/O) operace. Jednu z následujících položek, může vytvořit zablokované nebo pozastavena I/O problémy. Tyto problémy můžete rychle mít negativní dopad na serveru SQL Server reakce a výkon:
  • Vadný hardware
  • Hardware, který není správně nakonfigurován
  • Nastavení firmwaru
  • Ovladače filtru
  • Komprese
  • Chyby
  • Ostatní podmínky v cestě I/O
Tyto problémy I/O mohou způsobit následující chování dochází:
  • Blokování
  • Západka konflikty a časové limity
  • Doba odezvy na pomalé
  • Roztažení hranic zdrojů
V Microsoft SQL Server 2000 Service Pack 4 (SP4), SQL Server zahrnuje logiku, která pomáhá zjišťovat pozastavena a zablokované podmínky pro databázi I/O čtení a zápisy a protokolu souborového I/O čtení a zápisy. Po vstupně-výstupní operace čekající na 15 sekund nebo déle, SQL Server provede následující kroky:
  1. Zjistí, že byla operace čeká na vyřízení.
  2. Informační zpráva se zapíše do protokolu chyb serveru SQL Server. Text zprávy je podobná následující:

    00:21:25.26 2004-11-11 spid1 SQL Server zjistil 192 výskytů vstupně-výstupní požadavky převzetí delší než 15 sekund k dokončení souboru [E:\SEDATA\stressdb5.ndf] [stressdb] (7) databáze. Popisovač souboru operačního systému je 0x00000000000074D4. Posun nejnovější dlouhé IO je: 0x00000000022000 ".

Vysvětlení informační zpráva

Zmenšit tuto tabulkuRozšířit tuto tabulku
Text zprávyPopis
Číslo výskytůPočet vstupně-výstupních požadavků, které nebylo dokončeno, čtení nebo zápis operaci za méně než 15 sekund.
Informace o souboruÚplný název souboru, název databáze a databáze ID (identifikátor DBID).
ÚchytPopisovač souboru operačního systému. Můžete popisovač operačního systému ladicí programy nebo jiných nástrojů vám pomůže při sledování vstupně-výstupní požadavek paket (IRP) požadavky.
PosunPosun poslední zablokované vstupně-výstupní operace nebo poslední pozastavena vstupně-výstupní operace. Posun můžete použít ladicí programy nebo jiných nástrojů vám pomůže při sledování požadavků IRP.

Poznámka: Informační zpráva zapsána do protokolu chyb serveru SQL Server, vstupně-výstupní operace může již být zablokované nebo pozastavena.
Tato informační zpráva označuje, že aktuální zatížení může docházet k jedné z následujících podmínek:
  • Zatížení překračuje možnosti I/O cestu.
  • Zatížení je vyšší než aktuální možnosti systému.
  • Má cesta I/O nefunkční software; možná firmwaru nebo problém ovladače.
  • Má cesta I/O nefunkční hardwarových komponent.
Další informace o serveru SQL Server 2000 I/O vzorky navštivte následující Web společnosti Microsoft:
http://technet.microsoft.com/en-us/library/cc966500.aspx

Další informace

Zablokované I/O a zablokované v/V

Zablokované I/O

Zablokované I/O je definována jako vstupně-výstupní požadavek, který není dokončen. Zablokované I/O je často zablokované IRP. Zablokované podmínku I/O vyřešíte obvykle musíte restartovat počítač nebo podobné akci. Zablokované podmínku I/O obvykle označuje jeden z následujících:
  • Vadný hardware.
  • Chyby v součásti cesty I/O.

Zablokované I/O

Zablokované I/O je definována jako vstupně-výstupní požadavek, který dokončit. Vstupně-výstupní operace však trvá příliš dlouho na dokončení. Zablokované I/O obvykle dochází z některého z následujících důvodů:
  • Konfigurace hardwaru.
  • Nastavení firmwaru.
  • Problém ovladače filtru, vyžadující pomoc hardware nebo dodavatelem softwaru a trasování a vyřešit.

SQL Server pozastaven I/O a zablokované I/O zaznamenávání a oznamování

Podpora Microsoft SQL Server zpracovává mnoha případech každý rok, které zablokované nebo zablokované I/O problémy. Jak je uvedeno dále, zobrazí se tyto problémy I/O různými způsoby. I/O problémy jsou některé nejobtížnější potíže diagnostikovat a ladění. I/O problémy vyžadují významné čas a prostředky pro ladění od společnosti Microsoft a od zákazníka. Přídavné funkce, které byly přidány k serveru SQL Server 2000 SP4 a novější výrazně zkrátit čas nutný k identifikaci problému I/O.

Hlášení a zaznamenávání požadavky v/V, jsou navrženy na základě souboru za. Zjišťování a vykazování zablokované a zablokované vstupně-výstupních požadavků jsou dvě samostatné akce.

Záznam

Existují dvě umístění na serveru SQL Server, kde se uskutečňuje záznamu akce. První umístění v záznamu, který nastane, je kde vstupně-výstupní operace dokončena. Požadavek vstupně-výstupní trvá více než 15 sekund, dojde k operaci záznamu. Druhé umístění v záznamu, který nastane, je při spuštění lazy Zapisovatel. Po spuštění lazy Zapisovatel lazy Zapisovatel zkontroluje všechny čekající na data a všechny čekající protokolu souboru požadavky v/V. Pokud byl překročen práh 15 sekund, dojde k operaci záznamu.

Hlášení

Vykazování probíhá v intervalech, které jsou od sebe vzdáleny 5 minut a více. Vykazování dojde při další vstupně-výstupní požadavek na soubor. Pokud došlo k akci záznamu a 5 minut nebo více uplynuly od došlo k poslední hlášení informační zpráva, která je uvedena v části "Souhrn" zapsána do protokolu chyb serveru SQL Server.

Prahová hodnota 15 sekund není nastavitelný. Zablokované a zablokované I/O zjišťování lze zakázat pomocí příznaku trasování 830 však nedoporučujeme to provést.

Chcete-li zakázat zjišťování při spuštění serveru SQL Server, použijte parametr spuštění-T830. Použití-T830 spouštěcí parametr bude zakázat zjišťování pokaždé, když je spuštěn SQL Server. Chcete-li zakázat zjišťování pro instanci serveru SQL Server, který je aktuálně spuštěn, použijte následující příkaz:

DBCC traceoff (830, -1)

Toto nastavení je pouze účinné po dobu trvání procesu serveru SQL Server.

Poznámka: Vstupně-výstupní požadavek, bude pozastavena nebo zablokování je uveden pouze jednou. Pokud zpráva hlásí, že jsou pozastavena 10 požadavky v/V, nedojde tyto zprávy 10 znovu. Pokud další zprávu hlásí, že jsou pozastavena 15 požadavky v/V, to znamená, že jste se stanou pozastavena 15 nové požadavky v/V.

Sledování paketu vstupně-výstupního požadavku (IRP)

SQL Server používá standardní volání rozhraní API systému Windows společnosti Microsoft, číst a zapisovat data. Například SQL Server používá následující funkce:
  • WriteFile
  • ReadFile
  • WriteFileScatter
  • ReadFileGather
Čtení nebo žádost o zápis je zpracován jako paketu (IRP) v systému Windows. Chcete-li zjistit stav mezinárodní kontrolní Komise, použijte obě následující:
  • Microsoft Platform Support pomoc.
  • Ladicí program jádra.
Další informace o mezinárodní kontrolní Komise a IRP trasování, navštivte následující Web společnosti Microsoft a hledat klíčové slovo "irp":
http://support.microsoft.com
Poznámka: Ladění jádra může být o invazivní proces, protože ladění jádra můžete vyžadovat ukončení systému k dokončení akce ladění. Doporučujeme zobrazit, pokud jsou aktualizace k dispozici pro následující položky:
  • Systém BIOS
  • Firmware
  • Všechny další součásti cesty I/O
Před provedením další akce ladění, obraťte se na dodavatele hardwaru. Relace ladění bude pravděpodobně zahrnovat ovladač jiného výrobce, firmware nebo součást ovladače filtru.

Výkon systému a dotaz plán akcí

Celkový výkon systému lze hrají klíčovou roli při zpracování vstupně-výstupní. Celkový zdravotní stav systému byste měli vzít do úvahy při řešení sestav zablokované nebo zablokované vstupně-výstupních operací. Nadměrné zatížení může způsobit pomalé celého systému. To zahrnuje zpracování vstupu a výstupu. Chování systému v době výskytu problému může být klíčovým faktorem při určování příčina problému. Například v případě vysoké využití procesoru nebo využití procesoru zůstává vysoká, dojde-li k problému, toto chování může znamenat, že proces v systému používá tolik procesoru, přičemž nepříznivě ovlivňovány jinými procesy.

Čítače výkonu

Chcete-li sledovat výkon I/O, zkontrolujte následující čítače výkonu pro konkrétní informace o cestě I/O:
  • Střední doba disku/přenos
  • Střední délka fronty disku
  • Aktuální délka fronty disku
Střední doba disku/přenos čas v počítači, který je spuštěn SQL Server je například obvykle méně než 15 milisekund. Pokud hodnota Střední doba disku/přenos roste, znamená to, že subsystému I/O není udržování optimální s poptávkou I/O.

Buďte opatrní s čítači výkonu, protože SQL Server plně využívá asynchronního I/O funkce, které jsou silně push délka fronty disku. Proto disku fronty delšími samotné neindikuje žádný problém.

V modulu Sledování systému Windows, můžete zkontrolovat čítače "fyzický Disk: bajtů disku/s" pro všechny ovlivněné disk a porovnat rychlost činnosti proti čítače "proces: vstupně-výstupní datové bajty/S" a "proces: IO ostatní bajty/s" pro každý proces k určení, zda určitou sadu procesů generuje nadměrné vstupně-výstupní požadavky. Existují různé jiné I/O související objekt čítače, které jsou k dispozici v procesu, který odhalí přesnější informace. Pokud zjistíte, že je zodpovědný za nadměrné zatížení vstupně-výstupních operací na serveru instanci serveru SQL Server, přečtěte si v další části na "Indexy a rovnoběžnosti". Podrobný na odhalování a řešení kritických bodů I/O zkontrolujte MSDN whitepaper v části "Problémových míst v/V" Řešení potíží s výkonem v produktu SQL Server 2008 nebo Řešení potíží s výkonem v serveru SQL Server 2005.

Indexy a rovnoběžnosti

Často roztržení i/o dojít, protože chybí index. Toto chování můžete cestu I/O silně tlačit. Průchod s Index zapnutí průvodce (ITW) může pomoci vyřešit vstupně-výstupní tlak v systému. Pokud dotaz výhody z indexu místo z prohledání tabulky, možná dokonce používá řazení nebo hash systému můžete získat následující výhody:
  • Snížení fyzický I/O provedení akce, která se přímo na výkon dávky pro dotaz.
  • Méně stránek do mezipaměti data musí být obrácen. Stránky, které jsou v mezipaměti data zůstávají tedy odpovídající na dotazy služby active.
  • Seřadí a hodnoty hash se používají, protože index je pravděpodobně chybí nebo jsou zastaralé statistické údaje. Může snížit databáze tempdb použití a konflikty přidáním jednoho nebo více indexů.
  • Snížení zdrojů, snížení paralelní operace nebo obojí. Protože SQL Server nezaručuje spuštění dotazu paralelní a je považován za zatížení systému, je nejlepší optimalizovat všechny dotazy sériové provedení. Chcete-li optimalizovat dotaz, otevřete Query Analyzer a Hodnota sp_configure o Maximální stupeň rovnoběžnosti možnost 1. Pokud jsou všechny dotazy naladěn neprodleně sériová operace spuštění, paralelní spuštění je často právě lepší výsledek. Však mnoho časy paralelního spuštění je vybrána, protože je právě velké množství dat. Chybějící indexu může mít velký řazení dochází. Více zaměstnanců, které provádíte operaci řazení bude vytvořit rychlejší odpověď. Tato akce však může výrazně zvýšit tlak v systému. Velké požadavky na čtení z mnoha pracovníků může způsobit shlukové I/O spolu s zvýšené využití procesoru z více pracovníků. Mnohokrát dotazu můžete naladěn, rychleji a používat méně prostředků, pokud je přidán indexu, nebo dojde-li k další akci ladění.

Praktické příklady z Microsoft SQL Server podpory

Následující příklady byly zpracovány Microsoft SQL Server podporu a podporu vedoucím platformy. Tyto příklady jsou určeny referenční rámec a nápovědy sady vašemu očekávání o pozastavena a zablokované I/O situací a o způsobu systému mohou být ovlivněny nebo může reagovat. Není specifický hardware nebo sadu ovladačů, které představují jakékoli zvláštní rizika nebo zvýšené riziko na jiné. Všechny systémy jsou v tomto ohledu stejné.

Příklad 1: Protokolu zápisu zablokované 45 sekund

Požadavku na SQL Server soubor protokolu zápisu stala pravidelně zablokované přibližně 45 sekund. Zápis protokolu nebyl dokončení včas. Toto chování je vytvořen blokování podmínku, která vedla k časové prodlevy 30 sekund klienta.

Žádosti o potvrzení k serveru SQL Server a potvrzení stala zablokované jako čekající zápis do protokolu. Toto chování je způsobeno dotaz pokračovat, zámky a blokovat příchozí požadavky z jiných klientů. Ostatní klienti potom spuštěna časový limit. Úrok připisován to každý problém protože aplikace nebyl navržen pro vrácení zpět otevřené transakce při výskytu časový limit dotazu. To vytvoří stovky otevřené transakce, které byly zámky. Proto došlo k vážné situaci blokování.

Další informace o transakci, zpracování a blokování klepněte na následující číslo článku databáze Microsoft Knowledge Base:
224453Vysvětlení a řešení SQL Server 7.0 nebo 2000 blokující problémy
Aplikace servis webu pomocí sdružování připojení. Jak se stala další připojení blokována, web vytvořen další připojení. Stala tato připojení blokována a pokračuje v cyklu.

Zápis protokolu dokončena přibližně 45 sekund. Však v tuto chvíli stovky připojení nebyly zálohovány. Blokující problémy vedlo několik minut od doby zotavení pro SQL Server a aplikace. V kombinaci s problémy s aplikací zablokované podmínka I/O měla velmi negativní vliv na systém.
Rozlišení
Problém byl sledován na zablokované vstupně-výstupní požadavek v ovladači HBA (Host Bus adaptéru). V počítači bylo více karet adaptéru HBA s podporou převzetí služeb při selhání. Jeden adaptér HBA byl za nebo není při komunikaci s Storage Area Network (SAN), hodnotu časového limitu "opakování před převzetí služeb při selhání" byl nakonfigurován na 45 sekund. V případě, že byl překročen časový limit, vstupně-výstupní požadavek byl směrován druhý adaptér HBA. Druhý adaptér HBA zpracovat žádosti a rychlé dokončení. Chcete-li zabránit takové podmínky kout, doporučuje výrobce hardwaru nastavení "opakování před převzetí služeb při selhání" 5 sekund.

Příklad 2: Intervenční ovladač filtru

Mnoho programů antivirový software a produkty pro zálohování pomocí ovladače filtru I/O. Tyto ovladače filtru I/O se stanou součástí zásobníku vstupně-výstupní požadavek a mají přístup na požadavek IRP. Microsoft Product Support Services byla vidět různé problémy z chyb, které vytvářejí zablokované vstupně-výstupní podmínky nebo pozastavena podmínek I/O při implementaci ovladače filtru.

Jedna podmínka byl ovladač filtru, povoleno zálohování souborů, které byly otevřeny při zálohování došlo k zálohování zpracování. Správce systému bylo součástí výběr zálohování souboru adresáře souboru dat serveru SQL Server. Při zálohování, zálohování se pokusil získat správnou bitovou kopii souboru při spuštění zálohování. Tím se zpožděním požadavky v/V. Vstupně-výstupní požadavky bylo povoleno pouze po jednom dokončit tak, jak byly zpracovávány software.

Při spuštění zálohování výkon serveru SQL zahozeny výrazně vstupně-výstupních serveru SQL Server, nuceno postupně dokončit. Chcete-li problém složené, byl logiky "najednou", vstupně-výstupní operace nemohla být provedena asynchronně. Proto SQL Server neočekávaně účtovat požadavek I/O a pokračovat, pracovník byl zachycen v čtení nebo zápis volání nedokončili vstupně-výstupní požadavek. Zpracování úlohy jako je například SQL Server čtení předem byly účinně dezaktivovány akcemi ovladače filtru. Jiné chyby v ovladači filtru navíc vlevo v procesu, akce "najednou", i v případě, že záloha byla dokončena. Jediným způsobem, jak obnovit výkon serveru SQL Server byl zavřete a znovu otevřete databázi nebo restartování serveru SQL Server tak, aby popisovač souboru byla uvolněna a reacquired bez interakce ovladač filtru.
Rozlišení
Chcete-li tento problém vyřešit, byly odebrány soubory dat serveru SQL Server z procesu zálohování souboru. Výroba software také opravit problém, který se soubor v režimu "najednou" vlevo.

Příklad 3: Skryté chyby

Mnoho vyšší koncové systémy mají vícekanálového I/O cesty ke zpracování Vyrovnávání zatížení nebo obdobné činnosti. Odborné pomoci společnosti Microsoft zjistila potíže se softwarem, kde se vstupně-výstupní požadavek selže, ale software nezpracovává správně chybovou podmínku pro vyrovnávání zatížení. Software může pokusit o nekonečné opakování. Vstupně-výstupní operace se stane zablokované a serveru SQL Server nemůže dokončit zadanou akci. Podobně jako protokol psát podmínku, která byla popsána výše, mnoho systému špatné chování může dojít po takové podmínky wedges systému.
Rozlišení
Tento problém vyřešíte restartováním serveru SQL Server je často vyžadován. Ale někdy je nutné restartovat operační systém obnovení zpracování. Doporučujeme také získat aktualizaci softwaru od dodavatele I/O.

Příklad 4: Služba Vzdálené úložiště, zrcadlení a Raid jednotky

V mnoha systémech používat, zrcadlení nebo podobné kroky k zabránění ztrátě dat. Některé systémy, které používají zrcadlení softwaru založené a některé je založeno na hardwaru. Situace obvykle zjištěných pomocí služby technické podpory pro tyto systémy je zvýšená čekací doby.

Dojde ke zvýšení celkového času I/O I/O musí provést při zrcadlení před I/O je považována za úplnou. Pro zrcadlení vzdálené instalace mohou se podílet sítě opakování. Pokud dojde k selhání disku a obnovuje systém raid, vzorek I/O také přerušena.
Rozlišení
Nastavení konfigurace přísné jsou vyžadovány ke snížení čekací doby zrcátek nebo raid rebuild operací.

Příklad 5: komprese

Společnost Microsoft nepodporuje Microsoft SQL Server 7.0 nebo 2000 Microsoft SQL Server datové soubory a soubory protokolu na komprimované jednotky. NTFS komprese není bezpečné pro SQL Server, protože komprese NTFS konce protokolu zapsat dopředu protokolování (WAL). Kompresi NTFS také vyžaduje zvýšenou zpracování pro každý vstupně-výstupní operace. Komprese vytvoří "najednou" jako chování, které způsobí vážným problémům s výkonem dochází.
Rozlišení
Chcete-li tento problém vyřešit, dekomprimujte data a soubory protokolu.

Další datové body

Informace o typu čekání, poskytnuté v sysprocesses systémové tabulky mohou být užitečné při diagnostikování problémová místa vstupu a výstupu. Vyrovnávací paměť I/O západka čekání typy a čeká na writelog jsou klíčové ukazatele prozkoumat vstupně-výstupní výkon cestu.

Další informace o typech čekání klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
822101Popis sloupce waittype a lastwaittype v master.dbo.sysprocesses tabulce serveru SQL Server 2000 a SQL Server 2005

Odkazy

231619 Jak použít nástroj SQLIOStress zdůraznit diskový podsystém, jako je například SQL Server
826433 Další diagnostické nástroje SQL Server přidána ke zjištění nehlášené problémy I/O
230785 Protokolování serveru SQL Server 7.0 a SQL Server 2000, SQL Server 2005 a algoritmy pro ukládání dat rozšířit spolehlivost dat.
SQL Server vyžaduje systémy podporují zaručené dodání na stabilní médium, jak je uvedeno v rámci programu Microsoft SQL Server Always-On Storage řešení přezkoumání. FODalší informace o požadavcích na vstupní a výstupní databázového stroje SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
967576Požadavky na vstupní a výstupní modul databáze Microsoft SQL Server

Vlastnosti

ID článku: 897284 - Poslední aktualizace: 22. května 2011 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • 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 Express
  • Microsoft SQL Server 2008 Standard
Klíčová slova: 
kbinfo kbtshoot kbsqlserv2000sp4fea kbmt KB897284 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:897284

Dejte nám zpětnou vazbu

 

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