Další diagnostické nástroje SQL Server přidána ke zjištění nehlášené problémy I/O

Překlady článku Překlady článku
ID článku: 826433 - 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

Příznaky

Pokud operační systém, ovladače nebo hardwarové potíže způsobují ztráty zápis podmínky nebo podmínky zastaralých čtení, že může zobrazit související integrity dat chybové zprávy, jako jsou například chyby 605, 823, 3448. Mohou se zobrazit chybové zprávy které jsou podobné následujícím příkladům:
2003-07-24 16:43:04.57 spid63 Getpage: bstat = 0x9, sstat = 0x800 mezipaměti
2003-07-24 16:43:04.57 spid63 pageno je nebo by měl být: objid je nebo by měl být:
2003-07-24 16:43:04.57 spid63 (1:7040966)/(1:7040966) 2093354622/2039782424
2003-07-24 16:43:04.57 spid63... IAM označuje že přidělena stránky Tento objekt
2003-07-24 16:52:37.67 spid63 Chyba: 605, závažnosti: 21, stát: 1
Pokus o načtení logickou stránku (1:7040966) spid63 16:52:37.67 2003-07-24 v databázi patří "pubs" objekt "autoři", není objekt "nadpisy"..
2003-07-24 16:52:40.99 spid63 Chyba: 3448, Závažnost: 21, stát: 1
2003-07-24 16:52:40.99 spid63 nelze vrátit zpět protokolu záznam (63361:16876:181) pro ID transakce (0:159696956), na stránce (1:7040977), databáze "pubs" (databáze ID 12). Informace o stránce: LSN = (63192:958360:10), typ = 2. Protokolovat informace: OpCode = 2, kontext 1..
2003-07-9 14:31:35.92 spid66 Chyba: 823, Závažnost: 24, stav: 2
Chyba I/O spid66 14:31:35.92 2003-07-9 (chybná stránka ID) zjištěných během čtení na posunu 0x00000016774000 v souboru h:\sql\MSSQL\data\tempdb.mdf...

Řešení

Informace o aktualizaci Service pack

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro 2000 Microsoft SQL Server. Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
290211 Jak získat nejnovější aktualizaci service pack pro SQL Server 2000

Informace o sestavení

Společnost Microsoft vydala nové sestavení serveru SQL Server, který zavádí Rozšířené možnosti sledování. Tyto možnosti jsou určeny k usnadnění řešení chybové zprávy popsané v části "Příznaky". Pokud provedete není podezření, že operační systém nebo releated problém s hardwarem, nesmíte mají uplatňovat toto sestavení.

Anglická verze tohoto sestavení má atributy souborů (nebo novější), jsou uvedeny v následující tabulce. Data a časy jednotlivých souborů jsou uvedeny v koordinovaný světový čas (UTC). Když zobrazení informací o souboru, je převedena na místní čas. Najít rozdíl mezi místním časem, použití a časem UTC naleznete Časové pásmo Karta na panelu Datum a čas v Ovládacích panelech.
   Date         Time   Version         Size             File name
   -------------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400 bytes  Console.exe      
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432 bytes  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296 bytes  Distmdl.mdf
   30-Jan-2003  01:55                        180 bytes  Drop_repl_hotfix.sql
   23-Jun-2003  22:40  2000.80.837.0   1,557,052 bytes  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552 bytes  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927 bytes  Instdist.sql
   03-May-2003  01:56                      1,581 bytes  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll      
   01-Apr-2003  02:07                      1,873 bytes  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024 bytes  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144 bytes  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904 bytes  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104 bytes  Pfutil80.dll     
   22-May-2003  22:57                     19,195 bytes  Qfe469571.sql
   11-Jul-2003  17:04                  1,084,147 bytes  Replmerg.sql
   04-Apr-2003  21:53  2000.80.798.0     221,768 bytes  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll      
   11-Jul-2003  16:56                  1,085,925 bytes  Replsys.sql
   01-Jun-2003  01:01  2000.80.818.0     492,096 bytes  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032 bytes  Semobj.rll
   29-May-2003  00:29                    115,944 bytes  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360 bytes  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172 bytes  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672 bytes  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736 bytes  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll     
   01-Aug-2003  00:50  2000.80.847.0   7,594,065 bytes  Sqlservr.exe     
   25-Jul-2003  21:44  2000.80.845.0     590,396 bytes  Sqlsort.dll      
   08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll       
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492 bytes  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148 bytes  Ssnmpn70.dll     
   01-Jun-2003  01:01  2000.80.818.0     158,240 bytes  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416 bytes  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132 bytes  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816 bytes  Xpweb70.dll
Poznámka: Z důvodu závislostem, poslední opravy hotfix nebo funkce obsahuje tyto soubory mohou obsahovat další soubory.

Společnost Microsoft potvrzuje, že pod vzácných a těžkých břemen I/O, některé hardwarové platformy vrátit zastaralé, číst. Pokud rozšířené diagnostika označuje možné zastaralých neúspěšně čtení podmínku, vám poskytne dodavatel hardwaru pro okamžité zpracování nahoru a otestujte pomocí nástroje SQLIOStress.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Tento problém byl poprvé opraven v aktualizaci Service Pack 4 pro Microsoft SQL Server 2000.

Další informace

Pokud se zobrazí některá z chybových zpráv, které jsou uvedeny v části "příznaky" části a nelze vysvětlit v případě, jako fyzická jednotka selhání a prohlédněte si všechny známé problémy se serverem SQL Server operační systém, ovladače a hardware. Další SQL Server Diagnostika byly přidány v tomto sestavení pomáhají zjišťovat I/O související externí problémy. Zkuste další diagnostické nástroje poskytují informace o dvou následující podmínky:
  • Ke ztrátě zápisu: Úspěšné volání WriteFile Rozhraní API, ale operační systém, ovladače nebo ukládání do mezipaměti Řadič nebyla vyprázdněna správně data na fyzické médium i v případě SQL Server je informován úspěšné zápisu.
  • Zastaralé čtení: Úspěšné volání ReadFile Rozhraní API, ale operační systém, ovladače nebo ukládání do mezipaměti Řadič nesprávně vrací data starší verze.
Například společnost Microsoft potvrdila, scénáře kde WriteFile Vrátí volání rozhraní API jako úspěšná, ale pro okamžité, úspěšné čtení stejných dat vrací blok starší data včetně dat, která je pravděpodobně uložena hardware, který čtení mezipaměti. Někdy se k tomuto problému dochází v důsledku čtení mezipaměti došlo k potížím. V ostatních případech zapisovat data zapsána ve skutečnosti nikdy do Fyzický disk.

Povolit další diagnostiku pro tyto typy problémy serveru SQL Server byl přidán příznak trasování 818. Můžete zadat příznak trasování 818 jako spouštěcí parametr-T818, počítače, který je spuštěn SQL Server, nebo je možné spustit následující příkaz:
DBCC TRACEON(818, -1)

Příznak trasování 818 umožňuje v paměti cyklické vyrovnávací paměti, která se používá pro sledování úspěšných poslední 2 048 zapsat operací, které jsou prováděny počítač se serverem SQL Server, řazení a odkazu na pracovní soubor vstupně-výstupních. Pokud chyby například Chyba 605, 823 nebo 3448 dojít, sekvenci protokolu Příchozí vyrovnávací paměti číselné hodnoty (LSN) je porovnána se seznamem poslední zápis. Pokud LSN, je načíst během čtení je starší než zadaná během operace operace, zápisu že nové chybové zprávě je zaznamenána v protokolu chyb serveru SQL Server. Většina operací zápisu SQL Server dojít jako kontrolní body nebo opožděných zápisů. Lazy zápis je úloha na pozadí, který používá asynchronního I/O. Provádění cyklické vyrovnávací paměti je lehký, což vliv na výkon systém je zanedbatelný.

Následující zpráva označuje, že nebyla serveru SQL Server není chybová od WriteFile Volání rozhraní API nebo ReadFile Volání rozhraní API. Ale když byla přezkoumána LSN, hodnotu nebyl Oprava:
SQL Server zjistil nedovoleném, nehlášeném Úroveň operačního systému nebo hardware, čtení nebo zápis problém na stránce databáze 12 (1:75007)
LSN vrátil (63361:16876:181), LSN očekávat (63361:16876:500)
Obraťte se na dodavatele hardwaru a zvažte zákaz ukládání mechanismy problém
V tomto okamžiku čtení mezipaměti obsahuje starší verzi stránky nebo data nebyla správně zapsána do Fyzický disk. V obou případech (ztracené zápis nebo čtení zastaralé) serveru SQL Server sestavy externí problémem operačního systému, ovladačů, nebo vrstvy hardware.

Pokud chyba 3448 dochází při pokusu o vrácení transakce, která má 605 chyba nebo chyba 823, počítač se serverem SQL automaticky zavře databázi a snaží otevřít a obnovit databázi. První stránky, dojde k chybě 605 nebo chyba 823 je považován za chybný stránky a id stránky je veden v počítači se serverem SQL Server. Během obnovení (před fáze opětovného provedení) při je čtení chybná stránka id, primární Podrobné informace o záhlaví stránky jsou zaznamenány v protokolu chyb serveru SQL Server. To akce je důležité, protože pomáhá odlišit ztracené zápis a Zastaralá scénáře pro čtení.

Může se zobrazit následující dva běžné chování v případech zastaralých čtení:
  • Pokud jsou soubory databáze uzavřena a pak otevřeli, správné a nedávno písemné data vrácena během zotavení.
  • Při vydání kontrolního bodu a spustit DBCC DROPCLEANBUFFERS prohlášení (Chcete-li odebrat všechny stránky databáze z paměti) a Spusťte DBCC CHECKDB příkaz na databázi, naposledy zapisovat data vrácena.
Označení uvedené v předchozím odstavci chování čtení mezipaměti problém a často vyřešit zakázáním čtení mezipaměť. Platnost akce, které jsou obvykle uvedeny v předchozím odstavci zneplatnění mezipaměti a úspěšné čtení, které nastat prokáží, že fyzický médium je správně aktualizována. Ke ztrátě zápis chování dochází, když stránky, čte zpět je stále starší verze dat, i po vynucenému vyprázdnění ukládání do mezipaměti mechanismů.

Někdy problém nemusí být konkrétní do mezipaměti hardwaru. Může být problém s ovladačem filtru. V takových případech Zkontrolujte software, včetně nástrojů pro zálohování a antivirový software a Podívejte se, pokud dochází k potížím s ovladačem filtru.

Společnost Microsoft také na vědomí podmínky, které nesplňují kritéria pro 605 chyba nebo chyba 823 ale jsou způsobeny stejnou činnost zastaralých čtení nebo zápis ke ztrátě. V některých instance, aktualizovány dvakrát, ale se stejnou LSN hodnota se zobrazí stránka. K tomuto chování může dojít, pokud ID objektu a ID stránky jsou správné (strana již přidělena na objekt) a změna na stránce a zapsány na disk. Vrací další stránka načítání starší bitové kopie a druhá změna provedena. Protokol transakcí serveru SQL Server ukazuje, že stránka byla aktualizována dvakrát se stejnou hodnotou LSN. Tato akce stane se problém při pokusu o obnovení sekvenci protokolu transakcí nebo s problémy konzistence dat, například selhání cizích klíčů nebo chybějící data položky. Následující chybová zpráva ukazuje tento příklad podmínka:
Chyba: 3456, závažnosti: 21, stát: 1 nebylo pro ID transakce (0:825853240), na stránce znovu záznam protokolu (276666:1664:19) (1:1787100), databáze "autoři" (7). Stránka: LSN = (276658:4501:9), typ = 1. Protokol: OpCode = 4, kontextu 2, PrevPageLSN: (275565:3959:31)...

Některé scénáře jsou popsány podrobněji v následujících seznamech:
  • LSN Sequence		Action
    1			Checkpoint
    2			Begin Transaction
    3			Table created or truncated
    4			Inserts (Pages allocated)
    5			Newly allocated page written to disk by Lazy Writer
    6			Select from table – Scans IAM chain, newly allocated page read back from disk (LRU | HASHED = 0x9 in getpage message), encounters Error 605 - Invalid Object ID
    7			Rollback of transaction initiated
    
  • LSN Sequence		Action
    1			Checkpoint
    2			Begin Transaction
    3			Page Modification
    4			Page written to disk by Lazy Writer
    5			Page read in for another modification (stale image returned)
    6			Page Modified for a second time but because of stale image does not see first modification 
    7			Rollback – Fails – Transaction Log shows two different log records with the same PREV LSN for the page
    
Operátoři serveru SQL Server 'řazení provádět I/O aktivity, především z a databáze tempdb databáze. Tyto vstupně-výstupních operací, které jsou podobné vyrovnávací paměť I/O operace; však již byla zkonstruována čtení opakovat logiku pro použití Můžete se pokuste vyřešit podobné problémy. Další Diagnostika vysvětleny v tomto článek se nevztahuje na tyto vstupně-výstupních operací.

Microsoft uvedl. že příčina pro následující řazení číst selhání je obecně zastaralá. Čtení nebo zápis ztraceny:
2003-04-01 20:13:31.38 spid122 SQL Server výrazu: Soubor: <p:\sql\ntdbms\storeng\drs\include\record.inl>, řádek = výrazu se nezdařilo 1447 = "m_SizeRec > 0 && m_SizeRec <=><b00></b00></=></p:\sql\ntdbms\storeng\drs\include\record.inl>

2003-03-29 09:51:41.12 řazení spid57 číst chyby (chybný ID stránky). PageID = (0x1:0x13e9), identifikátor dbid = 2, soubor = e:\program files\Microsoft SQL Server\mssql\data\tempdb.mdf. Opakování.

09:51:41.13 2003-03-29 Chyba spid57: 823, závažnosti: 24, stav: 7
2003-03-29 09:51:41.13 spid57 Chyba I/O (chybná stránka ID) zjištěných během čtení na posunu 0x000000027d2000 v souboru 'e:\program files\Microsoft SQL Server\mssql\data\tempdb.mdf'...

* 00931097 Module(sqlservr+00531097) (utassert_fail + 000002E3)
* 005B1DA8 Module(Sqlservr+001B1DA8) (RecBase::Resize + 00000091)
* 00407EE7 Module(Sqlservr+00007EE7) (RecBase::LocateColumn + 00000012)
* 00852520 Module(Sqlservr+00452520) (mergerow + 000000A4)
* 008522B3 Module(Sqlservr+004522B3) (merge_getnext + 00000285)
* 0085207D Module(Sqlservr+0045207D) (mergenext + 0000000D)
* 004FC5FB Module(Sqlservr+000FC5FB) (getsorted + 00000021)

Zákazníci kteří zkušenosti mají tyto chyby řazení mají často vyřešit potíže podle Přesunutí databáze tempdb ukládání místní jednotku nebo zakázáním čtení mezipaměti mechanismy.

Protože čtení zastaralá nebo ztraceny zápis výsledků v datech úložiště, která není očekáván, široké spektrum chování může dojít. Může zobrazeny jako chybějící data, ale některé z běžných účinky chybějící data Zobrazí se jako index poškození, například 644 chyba nebo chyba 625:
Chyba 644 závažnosti úrovně 21 zprávy Text nebyl nalezen index položku RID ' %. * hs v indexu stránky % S_PGID, ID indexu % d, databáze ' %. * ls'.
Chyba 625 závažnosti úrovně 21 zprávy Text nelze načíst řádek ze stránky % S_PGID podle RID protože ID_patice (% d) není platná.
Některé Zákazníci vykázaly chybějící řádky po vykonávají činnost počet řádků. K tomuto problému dochází z důvodu ztráty zápisu. Možná byl měl stránky propojit stránky řetězu seskupený index. Pokud byl zápis fyzicky ztraceny. také data budou ztracena.

Důležité Pokud se setkáte s některým z příznaků nebo pokud jste podezřelý podobné problémy společně s zakázání ukládání mechanismy, Microsoft Důrazně se doporučuje získat nejnovější aktualizaci pro SQL Server a nejnovější SQL Server I/O Stress simulátoru. Microsoft také doporučuje provedení přísném přezkoumání operačního systému a jeho přidružený konfigurace.

Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
231619JAK Komu: Nástroj SQLIOStress k namáhání diskový podsystém, jako je například SQL Server
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: 826433 - Poslední aktualizace: 20. května 2011 - Revize: 9.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2000 Service Pack 3
Klíčová slova: 
kbhotfixserver kbqfe kbbug kbhardware kbfilter kbdriver kbdatabase kbsysadmin kbinfo kbmt KB826433 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:826433

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