it-swarm-eu.dev

Pokus o načtení logické stránky (5: 65424) v databázi 2 se nezdařil

Při volání uložené procedury dostávám následující SqlException:

Pokus o načtení logické stránky (5: 65424) v databázi 2 selhal. Patří do alokační jednotky 7349876362857938944 a ne do 4899918190390149120.

Došlo k System.Data.SqlClient.SqlException
Zpráva = "Pokus o načtení logické stránky (5: 65424) v databázi 2 selhal. Patří do alokační jednotky 7349876362857938944, nikoli do 4899918190390149120.

Source = ". Net SqlClient Data Provider"
ErrorCode = -2146232060
Třída = 21
Číslo řádku = 257
Číslo = 605
Procedura = "ispDisplayCount"
Server = "10.10.1.1"
Stav = 3

Co tato výjimka znamená? Existuje nějaké řešení výše uvedeného problému?

Ačkoli databáze odkazovaná na výše uvedenou chybu naznačuje tempdb, podobné chyby odkazující na zprávu 605 mohou být opraveny pomocí odpovědí níže.

Msg 605, úroveň 21, stav 3, řádek 1
Pokus o načtení logické stránky (1: 8687634) v databázi 7 se nezdařil. Patří do alokační jednotky 72057594364821504, nikoli do 72057594052476928.

11
Parag Meshram

Pokud je ID databáze uvedené v chybové zprávě 2, Je postiženou databází tempdb. Jednou z metod řešení tohoto typu poškození v databázi tempdb je jednoduše restartování instance serveru SQL. Pro ID databáze jiné než 2 postupujte podle níže uvedených doporučení.

Možná budete muset obnovit ze zálohy, zkuste však toto:

Jako člen role sysadmin spusťte DBCC PAGE (2, 5, 65424, 3); a vyhledejte hodnotu Metadata: IndexId.

  • Pokud je to 0 (Halda) nebo 1 (Seskupený index), musíte obnovit ze zálohy.
  • Pokud to není 0 Nebo 1, Můžete znovu vytvořit index bez klastrů.

Spusťte příkaz DBCC a dejte nám vědět, co najdete. Zkontrolujte https://www.mssqltips.com/sqlservertip/1578/using-dbcc-page-to-examine-sql-server-table-and-index-data/ , kde jsou podrobnosti o DBCC PAGE Příkaz

11
Matt M

Vaše databáze je poškozená. Čas na obnovení z dobré zálohy. Pokud nemáte žádné zálohy, je čas se dozvědět více o Důležitost testování vašeho plánu obnovy . Vyšetřování spolehlivosti vašeho hardwaru je také zaručeno, sledujte varování a chyby v systémových záznamech.

10
Remus Rusanu

Chyba označuje, že je databáze poškozená. Dobrou zprávou je, že databáze ID 2 označuje, že se jedná o databázi tempdb, takže oprava je snadná - stačí restartovat instanci databáze.

Po restartování instance byste měli zjistit, proč k poškození došlo. Začněte spuštěním chkdsk na jednotce, na které je soubor problému. Dále se musíte podívat na samotné úložiště a zjistit, zda tam nejsou nějaké problémy. Může to být problém s fyzickým diskem, mohou to být ovladače HBA nebo RAID, atd.

9
mrdenny

To se mi podařilo vyřešit vymazáním mezipaměti SQL:

DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
GO

Zjevné restartování služby SQL by mělo stejný účinek.

(přes Made SQL , zde reprodukováno, aby pomohlo ostatním!)

2
8128

To, co byste slyšeli od mnoha lidí, je „ databáze je poškozená, je třeba ji obnovit “, aniž byste dokonce doporučili, abyste udělali několik minut. některé z následujících; zkontrolujte protokoly, zjistěte, kdy se problém poprvé vyskytl, chybu, která předcházela tomuto řádku, podívejte se do databáze/tabulky, do které stránka patří

V mém případě tuto chybu předcházel;

Nelze najít položku indexu v indexu ID 9 tabulky 629577281, v databázi 'XYZ'. Uvedený index je poškozený nebo je problém s aktuálním plánem aktualizace

Řešením bylo vysledovat odkazovaný index a dočasně jej odstranit.

později jsem našel tento odkaz společnosti Microsoft, který popisuje můj přesný problém a nabízí řešení link

doufám, že to v budoucnu pomůže někomu jinému

1
daffyjeje

V mém případě bylo řešením zkrácení a opětovné naplnění dat v příslušných tabulky.

Data uvnitř tabulek byla pravděpodobně poškozena.

1
xameeramir