simptomë:

Kur përdorni DBCC CHECKDB me REPAIR_ALLOW_DATA_LOSS parametër për të riparuar një bazë të dhënash të korruptuar .MDF, si kjo:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

ju shihni mesazhin e mëposhtëm të gabimit:

Rezultatet e DBCC për 'xxxx'.
CHECKDB gjeti 0 gabime alokimi dhe 0 gabime konsistence në bazën e të dhënave 'xxxx'.
Msg 824, Niveli 24, Shteti 2, Linja 8
SQL Server zbuloi një gabim I/O bazuar në konsistencën logjike: shuma e gabuar e kontrollit (pritet: 0xea8a9a2f; aktuale: 0x37adbff8). Ndodhi gjatë leximit të faqes (1:28) në ID 39 të bazës së të dhënave me kompensim 0x00000000038000 në skedarin 'xxxx.mdf'. Mesazhe shtesë në SQL Server regjistri i gabimeve ose regjistri i ngjarjeve të sistemit mund të japë më shumë detaje. Ky është një kusht i rëndë gabimi që kërcënon integritetin e bazës së të dhënave dhe duhet korrigjuar menjëherë. Përfundoni një kontroll të plotë të konsistencës së bazës së të dhënave (DBCC CHECKDB). Ky gabim mund të shkaktohet nga shumë faktorë; për më shumë informacion, shih SQL Server Librat Online.

ku 'xxxx.mdf' është emri i skedarit të korruptuar MDF që po riparohet. Edhe pse CHECKDB thotë

CHECKDB gjeti 0 gabime alokimi dhe 0 gabime konsistence në bazën e të dhënave 'xxxx'.

Ky është ende një gabim i qëndrueshmërisë (Msg 824) në bazën e të dhënave.

Pamja e ekranit të mesazhit të gabimit:

Gabim I/O i bazuar në konsistencë logjike: shuma e gabuar e kontrollit

Nëse korrupsioni është i rëndë, atëherë do të ketë mesazhe të vazhdueshme gabimi (Msg 824), si më poshtë:

Msg 824, Niveli 24, Shteti 6, Linja 2 SQL Server zbuloi një gabim I/O bazuar në konsistencën logjike: shuma e gabuar e kontrollit (pritet: 0x3d17dfef; aktuale: 0xd81748ef). Ndodhi gjatë leximit të faqes (1:0) në ID 39 të bazës së të dhënave në kompensim 0000000000000000 në skedarin 'xxxx.mdf'. Mesazhe shtesë në SQL Server regjistri i gabimeve ose regjistri i ngjarjeve të sistemit mund të japë më shumë detaje. Ky është një kusht i rëndë gabimi që kërcënon integritetin e bazës së të dhënave dhe duhet korrigjuar menjëherë. Përfundoni një kontroll të plotë të konsistencës së bazës së të dhënave (DBCC CHECKDB). Ky gabim mund të shkaktohet nga shumë faktorë; për më shumë informacion, shih SQL Server Librat Online.

Msg 824, Niveli 24, Shteti 6, Linja 4 SQL Server zbuloi një gabim I/O bazuar në konsistencën logjike: shuma e gabuar e kontrollit (pritet: 0x3d17dfef; aktuale: 0xd81748ef). Ndodhi gjatë leximit të faqes (1:0) në ID 39 të bazës së të dhënave në kompensim 0000000000000000 në skedarin 'xxxx.mdf'. Mesazhe shtesë në SQL Server regjistri i gabimeve ose regjistri i ngjarjeve të sistemit mund të japë më shumë detaje. Ky është një kusht i rëndë gabimi që kërcënon integritetin e bazës së të dhënave dhe duhet korrigjuar menjëherë. Përfundoni një kontroll të plotë të konsistencës së bazës së të dhënave (DBCC CHECKDB). Ky gabim mund të shkaktohet nga shumë faktorë; për më shumë informacion, shih SQL Server Librat Online.

ku 'xxxx.mdf' është emri i skedarit të korruptuar MDF që po riparohet.

Pamja e ekranit të mesazhit të gabimit:

Nëse korrupsioni është më i rëndë, mund ta shihni Msg 7909 poshtë Msg 824:

Rezultatet e DBCC për 'xxxx'.
CHECKDB gjeti 0 gabime alokimi dhe 0 gabime konsistence në bazën e të dhënave 'xxxx'.
Msg 824, Niveli 24, Shteti 2, Linja 8
SQL Server zbuloi një gabim I/O bazuar në konsistencën logjike: shuma e gabuar e kontrollit (pritet: 0xcfcd2118; aktuale: 0x6fc599d6). Ndodhi gjatë një leximi të faqes (1:1) në ID 39 të bazës së të dhënave me kompensim 0x00000000002000 në skedarin 'xxxx.mdf'. Mesazhe shtesë në SQL Server regjistri i gabimeve ose regjistri i ngjarjeve të sistemit mund të japë më shumë detaje. Ky është një kusht i rëndë gabimi që kërcënon integritetin e bazës së të dhënave dhe duhet korrigjuar menjëherë. Përfundoni një kontroll të plotë të konsistencës së bazës së të dhënave (DBCC CHECKDB). Ky gabim mund të shkaktohet nga shumë faktorë; për më shumë informacion, shih SQL Server Librat Online.
Msg 7909, Niveli 20, Shteti 1, Linja 8
Riparimi i modalitetit të urgjencës dështoi. Duhet të rivendosësh nga rezervimi.

ku 'xxxx' është emri i bazës së të dhënave dhe 'xxxx.mdf' është emri i skedarit fizik të bazës së të dhënave.

shënim Msg 7909 është një gabim i rëndë që mund të ndodhë në shumë situata kurdoherë SQL Server mendoni se baza e të dhënave është përtej rikuperimit.

Pamja e ekranit të mesazhit të gabimit:

Shpjegimi i saktë:

Të dhënat në skedarin MDF ruhen si 8 KB Faqet. Çdo faqe ka një fushë opsionale të shumës së kontrollit.

Nëse komanda DBCC CHECKDB gjen vlerat e kontrollit në faqen e kokës, faqen PFS dhe disa nga faqet e të dhënave janë të pavlefshme dhe nuk mund ta korrigjojë problemin, atëherë do të raportojë këtë gabim (Msg 824). Nëse korrupsioni është i rëndë, mund të ketë gabime të vazhdueshme (Msg 824) ose pasuar nga një gabim tjetër (Msg 7909).

Ju mund të përdorni produktin tonë DataNumen SQL Recovery për të rikuperuar të dhënat nga skedari i korruptuar MDF dhe për të zgjidhur këtë gabim.

Shembuj të skedarëve:

Mostra e skedarëve të korruptuar MDF që do të shkaktojnë gabimin(Gabim i vetëm i mesazhit 824):

SQL Server version Skedar MDF i korruptuar Skedari MDF i rregulluar nga DataNumen SQL Recovery
SQL Server 2014 Gabim 1_3.mdf Gabimi1_3_rregulluar.mdf

Mostra e skedarëve të korruptuar MDF që do të shkaktojnë gabimin(Gabime të vazhdueshme të mesazheve 824):

SQL Server version Skedar MDF i korruptuar Skedari MDF i rregulluar nga DataNumen SQL Recovery
SQL Server 2014 Gabim 1_1.mdf Gabim 1_1_rregulluar.mdf

Mostra e skedarëve të korruptuar MDF që do të shkaktojnë gabimin(Gabimi i mesazhit 824 i ndjekur nga gabimi i mesazhit 7909):

SQL Server version Skedar MDF i korruptuar Skedari MDF i rregulluar nga DataNumen SQL Recovery
SQL Server 2014 Gabim 1_2.mdf Gabimi1_2_rregulluar.mdf

 

Referencat:

1. https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/mssqlserver-824-database-engine-error?view=sql-server-ver15