Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
Részletek
| Jellemző | Érték |
|---|---|
| Terméknév | SQL Server |
| Eseményazonosító | 833 |
| Eseményforrás | MSSQLSERVER |
| Összetevő | SQLEngine |
| Szimbolikus név | BUF_LONG_IO |
| Üzenet szövege | Az SQL Server %d az adatbázis [%ls] (%d)[%ls] fájlján %d másodpercnél tovább tart az I/O-kérések előfordulása(i). Az operációs rendszer fájlleírója 0x%p. A legutóbbi hosszú I/O eltolása a következő: %#016I64x. |
Magyarázat
Ez az üzenet azt jelzi, hogy az SQL Server kiadott egy olvasási vagy írási kérelmet a lemezről, és hogy a kérés visszatérése több mint 15 másodpercet vett igénybe. Az SQL Server jelenti ezt a hibát, és az I/O-alrendszerrel kapcsolatos problémát jelez. Az adatbázis-kezelő rendszer (DBMS), például az SQL Server a fájlbemeneti és kimeneti (I/O) műveletek idővonalára támaszkodik. Az alábbi elemek bármelyike elakadt vagy elakadt I/O-műveleteket okozhat, és hátrányosan befolyásolhatja az SQL Server válaszképességét és teljesítményét:
- Hibás hardver
- Helytelenül konfigurált hardver
- Belső vezérlőprogram beállításai
- Szűrőillesztőprogramok
- Tömörítés
- Hibák
- Az I/O elérési útjának egyéb feltételei
Ezek az I/O-problémák a következő viselkedést okozhatják:
- Blokkoló.
- Reteszes versengés és időtúllépések.
- Lassú válaszidő.
- Az erőforráshatárok nyúlása.
- Az üzenethez kapcsolódó egyéb tüneteket is észlelhet, például:
- A PAGEIOLATCH várakozási ideje magas.
- Figyelmeztetések vagy hibák a rendszer eseménynaplójában.
- A rendszerfigyelő számlálók lemezkésési problémáinak jelzése.
Ha egy I/O-művelet 15 másodpercig vagy hosszabb ideig függőben van, az SQL Server a következő lépéseket hajtja végre:
Azt észleli, hogy egy művelet függőben van.
Tájékoztató üzenetet ír az SQL Server hibanaplójába a Részletek szakaszban leírtak szerint.
A tájékoztató üzenet különböző szakaszainak magyarázata az alábbi táblázatban található:
| Üzenet szövege | Leírás |
|---|---|
| < Szám> előfordulás(ok) | Azon I/O-kérések száma, amelyek nem fejezik be az olvasási vagy írási műveletet kevesebb mint 15 másodperc alatt. |
| Fájlinformációk | A teljes fájlnév, adatbázisnév és adatbázis-azonosító (DBID) szám. |
| Fogantyú | A fájl operációsrendszer-kezelője. Az operációs rendszer leíróját hibakeresőkkel vagy más segédprogramokkal is használhatja az I/O-kéréscsomagok (IRP) kéréseinek nyomon követéséhez. |
| Kiegyenlít | Az utolsó elakadt I/O művelet vagy az utolsó elakadt I/O művelet eltolása. Az eltolást hibakeresőkkel vagy más segédprogramokkal is használhatja az IRP-kérések nyomon követéséhez. Megjegyzés: Ha a tájékoztató üzenet az SQL Server hibanaplójába van írva, előfordulhat, hogy az I/O-művelet már nem elakadt vagy elakadt. |
Lehetséges okok
A tájékoztató üzenet azt jelzi, hogy az aktuális terhelés a következő feltételek valamelyikét tapasztalhatja:
- A számítási feladat vagy az I/O-alrendszer (SAN, NAS és közvetlen csatlakoztatott) helytelen konfigurációja, vagy a hardverkapacitás elérése miatt meghaladja az I/O elérési útvonal képességeit.
- A számítási feladatok túllépik a jelenlegi rendszerképességeket, például az I/O-kat, a CPU-kat és a HBA-kat.
- Az I/O elérési útja hibás szoftverekkel rendelkezik. Ez lehet belső vezérlőprogrammal vagy illesztőprogrammal kapcsolatos probléma.
- Az I/O-elérési út hibás hardverösszetevőkkel rendelkezik.
- Teljesítményproblémák az operációs rendszer szintjén.
- Szűrőillesztő beavatkozás az adatbázisfájlok I/O-folyamatában vagy tárolási útvonalán. Például víruskereső program.
Az SQL Server rögzíti az I/O-kérés indításának időpontját, és rögzíti az I/O befejezésének időpontját. Ha ez a különbség 15 másodperc vagy hosszabb, a rendszer ezt a feltételt észleli. Azt is jelenti, hogy nem az SQL Server okozza az üzenet által leírt és jelentésekben szereplő késleltetett I/O-feltételt. Ezt a feltételt elakadt I/O-nak nevezzük. A lemezkérelmek többsége a lemez szokásos sebességén belül történik. Ezt a tipikus lemezsebességet gyakran nevezik lemezkeresési időnek. A lemezkeresési idő a legtöbb standard lemez esetében 10 ezredmásodpercben vagy kevesebbben fordul elő. Ezért 15 másodperc hosszú idő, amíg a rendszer I/O-elérési útja visszatér az SQL Serverhez. További részletekért lásd a További információ szakaszt .
Felhasználói művelet
A hiba elhárításához hajtsa végre a következő lépéseket:
- Vizsgálja meg a rendszer eseménynaplóját a hardverekkel kapcsolatos hibaüzenetek esetében.
- Vizsgálja meg a hardverspecifikus naplókat, ha elérhetők. Használja a szükséges módszereket és technikákat az operációs rendszer, az illesztőprogramok vagy az I/O hardver késésének okának meghatározásához.
- Frissítse az összes eszközillesztőt és belső vezérlőprogramot, vagy végezze el az I/O-alrendszerhez társított egyéb diagnosztikát.
- A lemezhozzáférést a szűrőillesztők, például egy víruskereső program lassíthatja. A hozzáférési sebesség növeléséhez zárja ki a hibaüzenetben megadott SQL Server-adatfájlokat az aktív vírusvizsgálatokból. További információ : Hogyan választhatja ki az SQL Servert (microsoft.com) futtató számítógépeken futtatandó víruskereső szoftvereket.
- A fltmc.exe parancssori segédprogrammal lekérdezheti a rendszeren telepített összes szűrőillesztőt, és megismerheti az adatbázisfájlok tárolási útvonalán végrehajtott függvényeket.
- A Teljesítményfigyelő használatával vizsgálja meg a következő számlálókat:
- Átlagos lemez másodpercenkénti/átvitele
- Lemezsor átlagos hossza
- Jelenlegi lemezsor hossza
- Az olyan létesítményeket is használhatja, mint a Storport ETW naplózása a lemezegységre irányuló kérések késésének mérésére. Egy másik hasonló lemez I/O hibaelhárítási készlete a Windows Teljesítményrögzítő beépített profiljaként érhető el.
- Monitorozza sys.dm_io_virtual_file_stats , és válassza ki a megfelelő tárolási szintet és az IOPS-t a tárolási teljesítményhez.
Az SQL Server I/O-problémák miatt fellépő teljesítményproblémáinak diagnosztizálására és hibaelhárítására vonatkozó útmutatót az I/O-problémák által okozott lassú SQL Server-teljesítmény hibaelhárítása című témakörben találja.
További információ
Elakadt I/O és elakadt I/O
Elakadt I/O
A elakadt I/O olyan I/O-kérésként van definiálva, amely nem fejeződött be. A elakadt I/O gyakran elakadt IRP-t jelez. Egy elakadt I/O-feltétel megoldásához általában újra kell indítania a számítógépet, vagy hasonló műveletet kell végrehajtania. Egy elakadt I/O-feltétel általában az alábbi problémák egyikét jelzi:
- Hibás hardver.
- Hiba egy I/O elérésiút-összetevőben.
Elakadt I/O
Az elakadt I/O olyan I/O-kérésként van definiálva, amely befejeződött, vagy túl sok időt vesz igénybe. Az elakadt I/O viselkedés általában az alábbi okok valamelyike miatt fordul elő:
- Hardverkonfiguráció.
- Belső vezérlőprogram beállításai.
- Szűrőillesztővel kapcsolatos probléma, amely a hardver vagy a szoftvergyártó segítségét igényli a nyomkövetéshez és a megoldáshoz.
Az SQL Server leállt az I/O-n, és elakadt az I/O-rögzítés és -jelentéskészítés
Az SQL Server ügyfélszolgálata évente számos olyan esetet kezel, amely elakadt vagy elakadt I/O-problémákat tartalmaz. Ezek az I/O-problémák különböző módokon jelennek meg. Az I/O-problémák a legnehezebben diagnosztizálhatók és hibakeresési problémák, és jelentős időt és erőforrásokat igényelnek a Microsoft és az ügyfél hibakereséséhez. Az I/O-kérelmek jelentése és rögzítése fájlonként történik. Az elakadt és elakadt I/O-kérelmek észlelése és jelentése két különálló művelet.
felvétel
Az SQL Server rekordműveleteinek két pillanata van. Az első az, amikor az I/O-művelet befejeződik. A második pillanat, amikor a lusta író fut. A lusta író futtatásakor ellenőrzi az összes függőben lévő adatot és a függőben lévő naplófájl I/O-kéréseit. Ha az I/O-kérés meghaladja a 15 másodperces küszöbértéket, rekordművelet történik.
Jelentéskészítés
A jelentéskészítés olyan időközönként történik, amely öt perc vagy annál nagyobb távolságra van egymástól. A jelentéskészítés akkor történik, ha a következő I/O-kérés a fájlon történik. Ha rekordművelet történt, és az utolsó jelentés óta öt perc vagy több perc telt el, a Részletek szakaszban említett tájékoztató üzenetet a rendszer az SQL Server hibanaplójába írja.
A 15 másodperces küszöbérték nem állítható be. Az elakadt vagy elakadt I/O-észlelést azonban letilthatja a 830-at jelző nyomkövetési jelzővel, bár ezt nem javasoljuk.
Az elakadt és elakadt I/O észlelése letiltható a 830-at jelző nyomkövetési jelzővel. Ha ezt a jelzőt az SQL Server minden indításakor engedélyezni szeretné, használja a -T830 indítási paramétert. A jelenleg futó SQL Server-példány észlelésének letiltásához használja a következő utasítást:
dbcc traceon(830, -1)
Ez a beállítás csak az SQL Server-folyamat élettartamára érvényes.
Megjegyzés:
Az elakadt vagy elakadt I/O-kérések csak egyszer jelennek meg. Ha például az üzenet azt jelzi, hogy 10 I/O-kérés elakadt, a 10 jelentés nem fog újra előfordulni. Ha a következő üzenet azt jelzi, hogy 15 I/O-kérés elakadt, az azt jelenti, hogy 15 új I/O-kérés elakadt.
Az I/O-kérelemcsomag (IRP) nyomon követése
Az SQL Server a Szabványos Microsoft Windows API-hívásokat használja az adatok olvasásához és írásához. Az SQL Server például a következő függvényeket használja:
- WriteFile
- ReadFile
- WriteFileScatter
- ReadFileGather
Az olvasási vagy írási kérést a Windows I/O-kéréscsomagként (IRP) kezeli. Az IRP állapotának meghatározásához használja az alábbi funkciókat:
- Windows-támogatás
- Storport ETW-naplózás
Javasoljuk, hogy ellenőrizze az alábbi elemek elérhető frissítéseit:
- A BIOS
- A belső vezérlőprogram
- Bármely más I/O-elérési útösszetevő
További hibakeresési műveletek végrehajtása előtt forduljon a hardvergyártókhoz. A hibakeresési munkamenet valószínűleg egy külső illesztőprogramot, belső vezérlőprogramot vagy szűrőillesztő-összetevőt fog érinteni.
Rendszerteljesítmény- és lekérdezéstervműveletek
Általánosságban elmondható, hogy a rendszer teljesítménye kulcsfontosságú szerepet játszhat az I/O-feldolgozásban. Az elakadt vagy elakadt I/O-műveletekről szóló jelentések vizsgálata során figyelembe kell vennie a rendszer általános állapotát. A túlzott terhelés miatt az általános rendszer lassú lehet, beleértve az I/O-feldolgozást is. A probléma bekövetkezésekor a rendszer viselkedése kulcsfontosságú tényező lehet a probléma kiváltó okának meghatározásában. Ha például a cpu-használat növekszik vagy magas marad a probléma bekövetkezésekor, az azt jelezheti, hogy egy rendszerfolyamat annyi processzort használ, hogy más folyamatokat hátrányosan érint.
teljesítményszámlálók
Az I/O-teljesítmény monitorozásához vizsgálja meg a következő teljesítményszámlálókat adott I/O-elérésiút-információk esetében:
- Átlagos lemez másodpercenkénti/átvitele
- Lemezsor átlagos hossza
- Jelenlegi lemezsor hossza
Az SQL Servert futtató számítógépek átlagos lemez/átviteli ideje például általában kevesebb, mint 15 ezredmásodperc. Ha az átlagos lemez/átviteli érték emelkedik, az azt jelzi, hogy az I/O-alrendszer nem tartja optimálisan a lépést az I/O-igényekkel.
Legyen óvatos a teljesítményszámlálók használata során, mert az SQL Server teljes mértékben kihasználja az aszinkron I/O-képességeket, amelyek jelentősen leküldik a lemezsor hosszát. Ezért a hosszabb lemezsor hossza önmagában nem jelez problémát.
A Windows Rendszerfigyelőben áttekintheti az érintett lemezek "Fizikai lemez: Lemez bájt/mp" számlálóját, és összehasonlíthatja a tevékenység sebességét az egyes folyamatokhoz tartozó "Process: IO Data Bytes/Sec" és "Process: IO Other Bytes/sec" számlálókkal. Ezzel megállapíthatja, hogy egy adott folyamat túlzott I/O-kéréseket generál-e. A Folyamat objektum egyéb I/O-számlálói részletesebb információkat fednek fel. Ha megállapítja, hogy egy SQL Server-példány felelős a kiszolgáló túlzott I/O-terheléséért, tekintse meg az indexek és a párhuzamosság következő szakaszát. Az I/O-szűk keresztmetszetek észleléséről és megoldásáról részletes ismertetést az I/O-problémák által okozott lassú SQL Server-teljesítmény hibaelhárítása című témakörben talál.
Indexek és párhuzamosság
Gyakran előfordul, hogy az I/O-sorozatok azért fordulnak elő, mert hiányzik egy index. Ez a viselkedés súlyosan leküldheti az I/O elérési utat. Az Index-esztergáló varázslót (ITW) használó átjáró segíthet feloldani a rendszerre nehezedő I/O-terhelést. Ha egy lekérdezés táblavizsgálat helyett indexet használ, vagy esetleg rendezést vagy kivonatot használ, a rendszer a következő előnyöket élvezheti:
- A fizikai I/O-ban csökkentés történik, amely ahhoz a művelethez szükséges, amely közvetlenül létrehozza a lekérdezés teljesítménybeli előnyeit.
- Az adatgyorsítótárban kevesebb oldalt kell átfordíteni. Ezért az adatgyorsítótárban lévő lapok továbbra is relevánsak maradnak az aktív lekérdezések szempontjából.
- A rendezéseket és kivonatokat azért használja a rendszer, mert egy index hiányzik, vagy mert a statisztikák elavultak. Egy vagy több index hozzáadásával csökkentheti a tempdb használatát és a versengést.
- A csökkentés az erőforrásokban, a párhuzamos műveletekben vagy mindkettőben történik. Mivel az SQL Server nem garantálja a párhuzamos lekérdezésvégrehajtást, és a rendszer terhelését figyelembe veszi, a legjobb, ha az összes lekérdezést soros végrehajtásra optimalizálja. A lekérdezés optimalizálásához nyissa meg a Lekérdezéselemzőt, és állítsa a párhuzamosság maximális fokának sp_configure értékét 1-re. Ha az összes lekérdezés úgy van beállítva, hogy azonnal fusson soros műveletként, a párhuzamos végrehajtás gyakran csak jobb eredmény. A párhuzamos végrehajtás azonban gyakran azért van kiválasztva, mert az adatok mennyisége nagy. Hiányzó index esetén előfordulhat, hogy nagy rendezésnek kell történnie. A rendezési műveletet végrehajtó több feldolgozó gyorsabban választ fog adni. Ez a művelet azonban jelentősen növelheti a rendszerre nehezedő nyomást. A sok feldolgozótól érkező nagy olvasási kérések I/O-kipukkadást okozhatnak a processzorhasználat növekedésével együtt. A lekérdezések gyakran hangolhatók úgy, hogy gyorsabban fussanak, és kevesebb erőforrást használjanak, ha indexet adnak hozzá, vagy ha egy másik hangolási művelet történik.
Gyakorlati példák az SQL Server támogatásából
Az alábbi példákat az SQL Server támogatási és a Windows Eszkalációs támogatási szolgálata kezelte. Ezek a példák referenciakeretet nyújtanak, és segítenek beállítani az elakadt és elakadt I/O-helyzetekre vonatkozó elvárásait. Emellett keretrendszert is biztosítanak annak megértéséhez, hogy egy rendszer hogyan érinthet vagy reagálhat. Egyetlen konkrét hardver vagy illesztőprogram-készlet sem jelent semmilyen konkrét kockázatot vagy nagyobb kockázatot egy másikkal szemben. Ebben a tekintetben minden rendszer ugyanaz.
1. példa: 45 másodpercig elakadt naplóírás
Az SQL Server-naplófájlok írására tett kísérletek körülbelül 45 másodpercig elakadnak. A naplóírás nem fejeződik be időben. Ez a viselkedés blokkolási feltételt hoz létre, amely 30 másodperces időtúllépést okoz az ügyfél számára.
Az alkalmazás véglegesítést küldött az SQL Servernek, és a véglegesítés elakad, mivel a napló írása függőben van. Ez a viselkedés azt eredményezi, hogy a lekérdezés továbbra is zárolja a zárolásokat, és letiltja a más ügyfelektől érkező bejövő kéréseket. Ezután a többi ügyfél elkezd időtúllépést végrehajtani. Ez okozza a problémát, mert az alkalmazás nem hajtja vissza a nyitott tranzakciókat, ha a lekérdezés időtúllépése következik be. Ez több száz nyitott tranzakciót hoz létre, amelyek zárolást tartanak. Ezért súlyos blokkoló helyzet áll fenn.
A tranzakciók kezelésével és blokkolásával kapcsolatos további információkért tekintse meg a Microsoft Tudásbázis következő cikkét: 224453 AZ SQL Server blokkolási problémáinak ismertetése és megoldása
Az alkalmazás kapcsolatkészletezéssel szolgáltatásokat nyújt egy webhelynek. A további kapcsolatok letiltásakor a webhely további kapcsolatokat hoz létre. Ezek a kapcsolatok le lesznek tiltva, és a ciklus folytatódik.
A naplóírás körülbelül 45 másodpercet vesz igénybe. Ekkorra azonban több száz kapcsolatról készül biztonsági mentés. A blokkolási problémák több percnyi helyreállítási időt okoznak az SQL Server és az alkalmazás számára. Alkalmazásproblémákkal kombinálva az elakadt I/O-feltétel nagyon negatív hatással van a rendszerre.
Felbontás
A probléma egy gazdagépbusz-adapter (HBA) illesztőprogramban elakadt I/O-kérésre van nyomon követve. A számítógép több HBA-kártyával rendelkezik feladatátvételi támogatással. Ha egy HBA le van maradva, vagy nem kommunikál a tárolóhálózattal (SAN), az "újrapróbálkozás feladatátvétel előtt" időtúllépési érték 45 másodpercre van konfigurálva. Ha az időtúllépés túllépi, a rendszer az I/O-kérést a második HBA-ba irányítja. A második HBA kezeli a kérést, és gyorsan befejeződik. Az ilyen elakadási feltételek megelőzése érdekében a hardvergyártó öt másodperces "újrapróbálkozási próbálkozást" javasol a feladatátvétel előtt.
2. példa: Szűrőillesztő beavatkozása
Számos víruskereső szoftverprogram és biztonsági mentési termék használ I/O-szűrőillesztőket. Ezek az I/O-szűrőillesztők az I/O-kérések veremének részévé válnak, és hozzáféréssel rendelkeznek az IRP-kéréshez. A Microsoft terméktámogatási szolgáltatásai különböző problémákat észleltek az olyan hibákból, amelyek elakadt I/O-feltételeket vagy elakadt I/O-feltételeket hoznak létre egy szűrőillesztő implementációjában.
Az egyik ilyen feltétel egy szűrőillesztő a biztonsági mentés feldolgozásához, amely lehetővé teszi a biztonsági mentéskor megnyitott fájlok biztonsági mentését. A rendszergazda belefoglalta az SQL Server adatfájl könyvtárát a fájl biztonsági mentési kijelöléseibe. Amikor a biztonsági mentés megtörténik, a biztonsági mentés megpróbálja összegyűjteni a fájl megfelelő képét a biztonsági mentés indításakor. Ez késlelteti az I/O-kérelmeket. Az I/O-kérések egyszerre csak egyet hajthatnak végre, miközben a szoftver kezeli őket.
A biztonsági mentés indításakor az SQL Server teljesítménye jelentősen csökken, mivel az SQL Server I/OS-jének egyenként kell elvégeznie a teljesítést. Az idő logikája olyan, hogy az I/O-művelet nem hajtható végre aszinkron módon, ami a probléma megoldásához szükséges. Ezért amikor az SQL Server egy I/O-kérés közzétételére és folytatására számít, a feldolgozó elakad az olvasási vagy írási hívásban, amíg az I/O-kérés be nem fejeződik. A szűrőillesztő műveletei hatékonyan tiltják le az olyan feldolgozási feladatokat, mint az SQL Server előreolvasása. Emellett a szűrőillesztőben egy másik hiba is elhagyja a folyamat egyes műveleteit, még akkor is, ha a biztonsági mentés befejeződött. Az SQL Server teljesítményének visszaállításának egyetlen módja az SQL Server újraindítása, hogy a fájlleíró a szűrőillesztő beavatkozása nélkül legyen felszabadítva és újból elérhető legyen.
Felbontás
A probléma megoldásához a rendszer eltávolítja az SQL Server-adatfájlokat a fájl biztonsági mentési folyamatából. A szoftvergyártó kijavította azt a problémát, amely a fájlt "egyenként" módban hagyta.
3. példa: Rejtett hibák
Számos felsőkategóriás rendszer többcsatornás I/O-útvonalokkal rendelkezik a terheléselosztás vagy hasonló tevékenységek kezelésére. A Microsoft terméktámogatása problémákat észlelt a terheléselosztási szoftverrel kapcsolatban, ahol egy I/O-kérés meghiúsul, de a szoftver nem kezeli megfelelően a hibafeltételt. A szoftver megpróbálhat végtelen újrapróbálkozási kísérleteket. Az I/O-művelet elakad, és az SQL Server nem tudja végrehajtani a megadott műveletet. A korábban ismertetett naplóírási feltételhez hasonlóan számos rossz rendszerállapot fordulhat elő, miután egy ilyen feltétel ékezi a rendszert.
Felbontás
A probléma megoldásához indítsa újra az SQL Servert. Néha azonban újra kell indítania az operációs rendszert a feldolgozás visszaállításához. Azt is javasoljuk, hogy szerezze be a szoftverfrissítést az I/O-szállítótól.
4. példa: Távoli tárolási, tükrözési és raid-meghajtók
Számos rendszer tükrözést használ, vagy hasonló lépéseket alkalmaz az adatvesztés megelőzésére. A tükrözést használó rendszerek némelyike szoftveralapú, néhány pedig hardveralapú. A Microsoft támogatási szolgálata által ezekhez a rendszerekhez általában felfedezett helyzet a megnövekedett késés.
A teljes I/O-idő növekedése akkor következik be, ha az I/O-nak be kell fejeződnie, mielőtt befejezettnek tekintené. Távoli tükrözés telepítése esetén a hálózati újrapróbálkozás is bekapcsolódhat. Ha meghajtóhiba történik, és a raid rendszer újraépítése folyamatban van, az I/O-minta is megszakadhat.
Felbontás
Szigorú konfigurációs beállításokra van szükség a tükrözések késésének csökkentéséhez vagy a raid-újraépítési műveletekhez.
5. példa: Tömörítés
A Microsoft nem támogatja az SQL Server-adatfájlokat és a naplófájlokat a tömörített meghajtókon. Az NTFS-tömörítés nem biztonságos az SQL Server számára, mert az NTFS-tömörítés megszakítja a Write Ahead Logging (WAL) protokollt. Az NTFS-tömörítés az egyes I/O-műveletekhez is fokozott feldolgozást igényel. A tömörítés "egyenként" olyan viselkedést hoz létre, amely súlyos teljesítményproblémákat okoz.
Felbontás
A probléma megoldásához törölje az adatok és a naplófájlok kicsomagolását.
További információ: A tömörített köteteken lévő adatbázisok támogatása.
További adatpontok
A PAGEIOLATCH_* és a writelog várakozások sys.dm_os_wait_stats dinamikus felügyeleti nézetekben (DMV) kulcsfontosságú mutatók az I/O-elérési út teljesítményének vizsgálatához. Ha jelentős PAGEIOLATCH-várakozásokat lát, az azt jelenti, hogy az SQL Server az I/O-alrendszerre vár. A PAGEIOLATCH-várakozások egy bizonyos mennyisége jellemző és elvárt viselkedés. Ha azonban az átlagos PAGEIOLATCH várakozási idő következetesen meghaladja a 10 ezredmásodpercet, meg kell vizsgálnia, hogy miért van nyomás alatt az I/O alrendszer. További tudnivalókért lásd a következő dokumentumokat:
- Az I/O problémák okozta lassú SQL Server-teljesítmény hibaelhárítása
- sys.dm_os_waiting_tasks (Transact-SQL)
- sys.dm_exec_requests
- Az SQL Server várakozástípus-adattára
hivatkozások
- A DISKSPD használata a számítási feladatok tárolási teljesítményének teszteléséhez
- SQL Server-diagnosztika nem jelentett I/O-problémákat észlel elavult olvasások vagy írási hibák miatt
- Naplózási és adattárolási algoritmusok
Az SQL Server megköveteli, hogy a rendszerek támogatják az SQL Server I/O megbízhatósági programra vonatkozó követelményeiben ismertetett "garantált teljesítést a stabil adathordozóra". Az SQL Server-adatbázismotor bemeneti és kimeneti követelményeiről az adatbázismotor bemeneti/kimeneti követelményeit ismertető cikkben talál további információt.
Az I/O-hibákról további információt a Microsoft SQL Server I/O alapjai 2. fejezetében talál.