Diagnostika SQL Server přidán ke zjištění nehlášené problémy vstupu a výstupu z důvodu zastaralé čtení či zápisů ztraceny

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

Projděte si také anglickou verzi článku: 826433
Příznaky
Pokud operačního systému, ovladačů nebo hardwarové problémy příčinu ztráty zápis nebo čtení stavu zastaralá, může se zobrazit data integrity chybové zprávy týkající se například chyby 605, 823, 3448, 3456. Můžete obdržet chybové zprávy 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ěla být: objid je nebo by měla být:
spid63 16:43:04.57 2003-07-24 (1:7040966)/(1:7040966) 2093354622/2039782424
spid63 16:43:04.57 2003-07-24... IAM označuje, že stránky je přidělen k danému objektu

2003-07-24 16:52:37.67 spid63 Chyba: 605, závažnosti: 21, stav: 1
Pokus o načtení logickou stránku (1:7040966) v databázi, ke které patří "pubs" objekt "autoři", nikoli objekt názvy spid63 16:52:37.67 2003-07-24.

2003-07-24 16:52:40.99 spid63 Chyba: 3448, závažnosti: 21, stav: 1
spid63 16:52:40.99 2003-07-24 nelze vrátit záznam protokolu (63361:16876:181) 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, v rámci 1.

Chyba spid66 14:31:35.92 2003-07-09: 823, závažnosti: 24, stav: 2
2003-07-09 14:31:35.92 spid66 vstupně-výstupní (chybná stránka ID) byla zjištěna chyba během čtení na posunu 0x00000016774000 v souboru "h:\sql\MSSQL\data\tempdb.mdf".

2010-02-06 15:57:24.14 spid17s Chyba: 3456, závažnosti: 21, stát: 1.
2010-02-06 15:57:24.14 spid17s nelze znovu záznam protokolu (58997:5252:28) pro ID transakce (0:109000187) na stránce (1:480946), databáze "Databáze" (databáze ID 17). Stránka: LSN = (58997:5234:17), typ = 3. Protokolu: Instrukce = 2, 5, kontext PrevPageLSN: (58997:5243:17). Obnovení ze zálohy databáze nebo oprava databáze.
Další informace
Společnost Microsoft zavedla možnosti rozšířeného sledování počínaje SQL Server 2000 Service Pack 4 a tyto nástroje pro diagnostiku byly součástí produktu SQL Server 2005 a novější verze. Tyto možnosti jsou určeny pro zjištění vstupně-výstupní operace související externí problémy a řešení chybové zprávy popsané v části "Příznaky"

Pokud se zobrazí některá z chybových zpráv, které jsou uvedeny v části "Příznaky" a nemůže být vysvětleno v případě, například při selhání fyzické jednotky, podívejte se na všechny známé problémy s SQL Server, operační systém, ovladače a hardware. Diagnostika zkuste poskytují informace o dvou následujících podmínek:
  • Ke ztrátě zápis: Úspěšné volání rozhraní API WriteFile , ale operační systém, ovladače nebo cachingcontroller není vyprázdnění správně data na thoughSQL i fyzické médium, které Server informován úspěšného zápisu.
  • Zastaralé čtení: Úspěšné volání rozhraní API funkci ReadFile , ale operační systém, ovladače nebo cachingcontroller nesprávně vrací data starší verze.
Společnost Microsoft potvrzuje například scénáře kde volání funkce WriteFile API vrátí jako úspěšná, ale okamžité, úspěšné čtení stejného bloku dat vrátí starší data včetně dat, která je pravděpodobně uložena v hardwaru, čtení z mezipaměti. Někdy k tomuto problému dochází z důvodu problému čtení mezipaměti. V ostatních případech je ve skutečnosti nikdy zapsán zapisovat data na fyzický disk.

Povolit další diagnostické nástroje pro tyto druhy problémů, SQL Server byl přidán příznak trasování 818. Můžete určit jako spouštěcí parametr příznak trasování 818-T818, v počítači se systémem SQL Server, nebo můžete 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í, který poslední 2 048 úspěšný zápis operace prováděné pomocí počítače se systémem SQL Server, řazení a odkazu na pracovní soubor vstupně-výstupních. Při výskytu chyby, například Chyba 605 823 a 3448, příchozí vyrovnávací paměti protokolu pořadové číslo (LSN) hodnota je porovnán s aktuální seznam pro zápis. Pokud je starší než je uvedeno v průběhu operace zápisu LSN, získaná během operace čtení, nové chybová zpráva 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ů. Opožděných zápisů je úlohy na pozadí, který používá asynchronních v/v. Cyklické vyrovnávací paměti je lehký a díky systému zanedbatelný vliv na výkon.

Následující zpráva označuje, že SQL Server nepřijal žádné chyby z volání funkce WriteFile API nebo ReadFile API volání. Nicméně když byla přezkoumána LSN, hodnota není správný:

SQL Server zjistil nedovoleném, nehlášeném úroveň operačního systému nebo hardware, číst nebo zapisovat problém na straně databáze 12 (1:75007)
LSN vrácené (63361:16876:181), LSN očekávat (63361:16876:500)
Obraťte se na dodavatele hardwaru a zvažte zakázání ukládání do mezipaměti mechanismus k odstranění problému

Počínaje SQL Server 2005, bude zpráva hlášena jako:

SQL Server zjistil logické vstupně-výstupní chybě konzistence systémem: zastaralé pro čtení. K němu došlo během <Read rite="">> stránky <PAGEID>> v databázi ID <DBID>> na posunu <PHYSICAL offset="">> v souboru <FILE name="">>. Další zprávy v protokolu serveru SQL Server chybě protokolu nebo systému událostí mohou stanovit další podrobnosti. To je vážné chybovou podmínku, která ohrožuje integritu databáze a musí být okamžitě opraveno. Proveďte kontrolu konzistence celé databáze (DBCC CHECKDB). Tato chyba může být způsobeno mnoha faktory; Další informace naleznete v tématu SQL Server Books Online.</FILE> </PHYSICAL> </DBID> </PAGEID> </Read>

V tomto okamžiku čtení mezipaměti obsahuje starší verzi stránky, nebo data nebyla správně napsána na fyzický disk. V obou případech (ztracené psaní nebo čtení zastaralé) SQL Server hlásí externí poruchu operačního systému, ovladače nebo hardware vrstvy.

Pokud chyby 3448 dojde při pokusu o vrácení transakce, která má chyba 605 823 chyby, počítače se systémem SQL Server automaticky zavře databázi a pokouší se otevřít a obnovit databázi. První stránka, která dojde k chybě 605 nebo 823 chyby je považována za chybná stránka a id stránky je uchováván počítači se systémem SQL Server. Během obnovení (před fází znovu) přečtení chybná stránka id primární informace o záhlaví stránky jsou zaznamenány v protokolu chyb serveru SQL Server. Tato akce je důležité, protože pomáhá rozlišit mezi ztracené zapisovat a číst zastaralé scénáře.

Může se zobrazit následující dva běžné chování zastaralé čtení scénáře:
  • Pokud databázové soubory uzavřené a otevřené thecorrect a naposledy zapisovat data je vrácena při obnovení.
  • Při vydávání kontrolního bodu a spustit příkaz DBCC DROPCLEANBUFFERS (Chcete-li odebrat všechny stránky databáze z paměti), andthen spustit příkaz DBCC CHECKDB databáze naposledy napsaných isreturned data.
Čtení mezipaměti problém určit chování uvedených v předchozím odstavci a jsou často vyřešit zákazem mezipaměti pro čtení. Akce, které jsou popsány v předchozím odstavci, obvykle platnost zneplatnění mezipaměti a úspěšně načte, ke kterým dochází Zobrazit fyzické médium je správně aktualizován. Ztracené psaní chování dochází po stránce je přečíst i starší verze dat, i po vynucené vyprázdnění mezipaměti mechanismy.

V některých případech nemusí být problém konkrétní mezipaměti hardwaru. Může být problém s ovladačem filtru. V takovém případě zkontrolujte váš software, včetně nástrojů pro zálohování a antivirového softwaru a zjistěte, pokud dochází k potížím s ovladačem filtru.

Společnost Microsoft zjistila také podmínky, které nesplňují kritéria pro 605 chyba nebo Chyba 823, ale jsou způsobeny stejnou činnost zastaralé číst nebo zapisovat ztracena. V některých případech zobrazí se stránka aktualizována dvakrát, ale s stejné LSN hodnoty. K tomuto chování může dojít, pokud Objekt ID a ID stránky jsou správné (stránka již přidělené objektu) a změny provedené na stránce a vyprázdnění na disk. Starší obraz vrátí další načítání stránky a potom druhé změně. Protokol transakce SQL Server ukazuje, že stránka byla aktualizována dvakrát stejná hodnota LSN. Tato akce bude problém při pokusu o obnovení sekvence protokolu transakce nebo s problémy konzistence dat, například selhání cizího klíče nebo chybějící údaje. Následující chybová zpráva uvádí jeden příklad, tato podmínka:

Chyba: 3456, závažnosti: 21, stát: 1 nelze znovu záznam protokolu (276666:1664:19) pro ID transakce (0:825853240) na stránce (1:1787100), databáze "autoři" (7). Stránka: LSN = (276658:4501:9), typ = 1. Protokolu: Instrukce = 4, souvislosti 2, PrevPageLSN: (275565:3959:31).

Některé situace jsou popsány podrobněji v následujících seznamech:
  • LSN Sequence		Action1			Checkpoint2			Begin Transaction3			Table created or truncated4			Inserts (Pages allocated)5			Newly allocated page written to disk by Lazy Writer6			Select from table – Scans IAM chain, newly allocated page read back from disk (LRU | HASHED = 0x9 in getpage message), encounters Error 605 - Invalid Object ID7			Rollback of transaction initiated
  • LSN Sequence		Action1			Checkpoint2			Begin Transaction3			Page Modification4			Page written to disk by Lazy Writer5			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
SQL Server řazení operátory provádět vstupně-výstupní činnosti, především do a z databáze tempdb . Tyto vstupně-výstupní operace jsou podobné vyrovnávací paměti vstupně-výstupních operací; však již byla zkonstruována Logika opakování čtení používat k řešení podobných problémů. Další Diagnostika popsaných v tomto článku se nevztahují na tyto vstupně-výstupních operací.

Společnost Microsoft zjistila, že příčina následující řazení číst selhání je obvykle zastaralé pro čtení nebo ke ztrátě zápis:

2003-04-01 20:13:31.38 spid122 SQL Server výraz: soubor: <p:\sql\ntdbms\storeng\drs\include\record.inl>, řádek = 1447 se nezdařilo výrazu = "m_SizeRec > 0 && m_SizeRec<= maxdatarow'.=""></=>

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

2003-03-29 09:51:41.13 spid57 Chyba: 823, závažnosti: 24, stav: 7
2003-03-29 09:51:41.13 spid57 vstupně-výstupní chyba (chybná stránka ID) zjistil při č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)

</p:\sql\ntdbms\storeng\drs\include\record.inl>
Zákazníci, kteří tyto chyby řazení došlo k často nevyřešil problémy přesunutí databáze tempdb není ukládání do mezipaměti místní disk nebo zakázání čtení mechanismy ukládání do mezipaměti.

Širokou škálu chování může dojít, protože zastaralé pro čtení nebo zápisu ztraceny výsledkem ukládání dat, která není očekáván. Může zobrazovat jako chybějící data, ale některé běžnější účinků chybějící data se zobrazí jako index poškození, například Chyba 644 nebo 625 Chyba:

Chyba 644 závažnosti úrovně 21 zpráva Text nelze najít položku rejstříku pro RID ' %. * databáze hs v index stránka % S_PGID, index ID %d ' %. * ls'.
625 závažnosti úrovně 21 textu chybové zprávy při nelze načíst řádek z stránka % S_PGID podle RID, protože ID slotu (%d) není platný.

Někteří 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 ztraceny zápis. Na stránce možná měla spojit s řetězci seskupený index stránky. Zápis byl fyzicky ztracen, data dojde také ke ztrátě.

Důležité Pokud se setkáte s některým z příznaků, nebo pokud jste podezřele podobné problémy s mechanismy ukládání do mezipaměti zakázat, společnost Microsoft důrazně doporučuje, můžete získat nejnovější aktualizaci pro SQL Server a nejnovější simulátor SQL Server vstupně-výstupní napětí. Společnost Microsoft také doporučuje provést přísné kontroly operačního systému a jeho přidružené konfigurací.

Poznámka: Společnost Microsoft potvrzuje, že za vzácné a těžké zatížení vstupně-výstupní některé hardwarové platformy vrátit zastaralé pro čtení. Pokud rozšířené diagnostika označuje možné zastaralých neúspěšně číst psát podmínku, vám poskytne dodavatel hardwaru pro okamžité zpracování nahoru a testujte SQLIOSim nástroj.

SQL Server vyžaduje, aby podpora garantované doručení na stabilní média podle systémyPožadavky na Program SQL Server vstupně-výstupní spolehlivost. Další informace o požadavcích na vstupní a výstupní databázový stroj SQL Server naleznete v tématu Vstupní a výstupní požadavky na Microsoft SQL Server databáze stroj.

Upozornění: Tento článek je přeložený automaticky

Egenskaber

Artikel-id: 826433 – Seneste udgave 06/03/2015 07:58:00 – Udgave 11.0

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2005 Compact Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Standard X64 Edition, 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 Analysis Services, 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 Express with Advanced Services, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Standard Edition for Small Business, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, SQL Server 2012 Enterprise Core, 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, SQL Server 2014 Reporting Services

  • kbhotfixserver kbqfe kbbug kbhardware kbfilter kbdriver kbdatabase kbsysadmin kbinfo kbmt KB826433 KbMtcs
Feedback