Simptoms:

Lietojot DBCC PĀRBAUDE ar REPAIR_ALLOW_DATA_LOSS parametrs, lai labotu bojātu .MDF datu bāzi, piemēram:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

tiek parādīts šāds kļūdas ziņojums:

DBCC rezultāti vaicājumam 'xxxx'.
CHECKDB datu bāzē “xxxx” atrada 0 piešķiršanas kļūdu un 0 konsekvences kļūdu.
Msg 824, Līmenis 24, Valsts 2, Līnija 8
SQL Server konstatēta loģiska, uz konsekvenci balstīta I / O kļūda: nepareiza kontrolsumma (paredzams: 0xea8a9a2f; faktiskais: 0x37adbff8). Tas notika, lasot lapu (1:28) datubāzes ID 39, 0x00000000038000 nobīdē failā “xxxx.mdf”. Papildu ziņojumi SQL Server kļūdu žurnāls vai sistēmas notikumu žurnāls var sniegt sīkāku informāciju. Šis ir nopietns kļūdas stāvoklis, kas apdraud datu bāzes integritāti, un tas nekavējoties jānovērš. Pabeidziet pilnu datu bāzes konsekvences pārbaudi (DBCC CHECKDB). Šo kļūdu var izraisīt daudzi faktori; lai iegūtu vairāk informācijas, skat SQL Server Grāmatas tiešsaistē.

kur 'xxxx.mdf' ir labojamā bojātā MDF faila nosaukums. Lai gan CHECKDB saka

CHECKDB datu bāzē “xxxx” atrada 0 piešķiršanas kļūdu un 0 konsekvences kļūdu.

Tā joprojām ir konsekvences kļūda (824) datu bāzē.

Kļūdas ziņojuma ekrānuzņēmums:

loģiskās konsekvences balstīta I / O kļūda: nepareiza kontrolsumma

Ja korupcija ir nopietna, pastāvīgi tiks parādīti kļūdu ziņojumi (824), kā norādīts zemāk:

Msg 824, Līmenis 24, Valsts 6, Līnija 2 SQL Server konstatēta loģiska, uz konsekvenci balstīta I / O kļūda: nepareiza kontrolsumma (paredzams: 0x3d17dfef; faktiskais: 0xd81748ef). Tas notika, nolasot lapu (1: 0) datubāzes ID 39 pie 0000000000000000 nobīdes failā “xxxx.mdf”. Papildu ziņojumi SQL Server kļūdu žurnāls vai sistēmas notikumu žurnāls var sniegt sīkāku informāciju. Šis ir nopietns kļūdas stāvoklis, kas apdraud datu bāzes integritāti, un tas nekavējoties jānovērš. Pabeidziet pilnu datu bāzes konsekvences pārbaudi (DBCC CHECKDB). Šo kļūdu var izraisīt daudzi faktori; lai iegūtu vairāk informācijas, skat SQL Server Grāmatas tiešsaistē.

Msg 824, Līmenis 24, Valsts 6, Līnija 4 SQL Server konstatēta loģiska, uz konsekvenci balstīta I / O kļūda: nepareiza kontrolsumma (paredzams: 0x3d17dfef; faktiskais: 0xd81748ef). Tas notika, nolasot lapu (1: 0) datubāzes ID 39 pie 0000000000000000 nobīdes failā “xxxx.mdf”. Papildu ziņojumi SQL Server kļūdu žurnāls vai sistēmas notikumu žurnāls var sniegt sīkāku informāciju. Šis ir nopietns kļūdas stāvoklis, kas apdraud datu bāzes integritāti, un tas nekavējoties jānovērš. Pabeidziet pilnu datu bāzes konsekvences pārbaudi (DBCC CHECKDB). Šo kļūdu var izraisīt daudzi faktori; lai iegūtu vairāk informācijas, skat SQL Server Grāmatas tiešsaistē.

kur 'xxxx.mdf' ir labojamā bojātā MDF faila nosaukums.

Kļūdas ziņojuma ekrānuzņēmums:

Ja korupcija ir smagāka, jūs varat redzēt 7909 seko 824:

DBCC rezultāti vaicājumam 'xxxx'.
CHECKDB datu bāzē “xxxx” atrada 0 piešķiršanas kļūdu un 0 konsekvences kļūdu.
Msg 824, Līmenis 24, Valsts 2, Līnija 8
SQL Server konstatēta loģiska, uz konsekvenci balstīta I / O kļūda: nepareiza kontrolsumma (paredzams: 0xcfcd2118; faktiskais: 0x6fc599d6). Tas notika datu bāzes ID 1 lappuses (1: 39) lasīšanas laikā 0x00000000002000 nobīdē failā “xxxx.mdf”. Papildu ziņojumi SQL Server kļūdu žurnāls vai sistēmas notikumu žurnāls var sniegt sīkāku informāciju. Šis ir nopietns kļūdas stāvoklis, kas apdraud datu bāzes integritāti, un tas nekavējoties jānovērš. Pabeidziet pilnu datu bāzes konsekvences pārbaudi (DBCC CHECKDB). Šo kļūdu var izraisīt daudzi faktori; lai iegūtu vairāk informācijas, skat SQL Server Grāmatas tiešsaistē.
Msg 7909, Līmenis 20, Valsts 1, Līnija 8
Avārijas režīma remonts neizdevās. Jums ir jāatjauno no dublējuma.

kur 'xxxx' ir datu bāzes nosaukums un 'xxxx.mdf' ir datu bāzes fiziskā faila nosaukums.

Piezīmes 7909 ir nopietna kļūda, kas var rasties daudzās situācijās SQL Server domāju, ka datu bāze ir ārpus atkopšanas.

Kļūdas ziņojuma ekrānuzņēmums:

Precīzs skaidrojums:

Dati MDF failā tiek saglabāti kā 8KB lapas. Katrai lapai ir izvēles kontrolsummas lauks.

Ja DBCC CHECKDB komanda atrod kontrolsummas vērtības galvenes lapā, PFS lapā un dažās datu lapās ir nederīgas un nevar novērst problēmu, tā ziņos par šo kļūdu (824). Ja korupcija ir smaga, var būt nepārtrauktas kļūdas (824) vai seko cita kļūda (7909).

Jūs varat izmantot mūsu produktu DataNumen SQL Recovery lai atgūtu datus no bojātā MDF faila un novērstu šo kļūdu.

Failu paraugi:

Bojātu MDF failu paraugi, kas izraisīs kļūdu (Viena ziņojuma 824 kļūda):

SQL Server versija Bojāts MDF fails MDF failu laboja DataNumen SQL Recovery
SQL Server 2014 Kļūda1_3.mdf Kļūda1_3_fiksēts.mdf

Bojātu MDF failu paraugi, kas izraisīs kļūdu (Nepārtrauktas Msg 824 kļūdas):

SQL Server versija Bojāts MDF fails MDF failu laboja DataNumen SQL Recovery
SQL Server 2014 Kļūda1_1.mdf Kļūda1_1_fiksēts.mdf

Bojātu MDF failu paraugi, kas izraisīs kļūdu (Msg 824 kļūda, kam seko Msg 7909 kļūda):

SQL Server versija Bojāts MDF fails MDF failu laboja DataNumen SQL Recovery
SQL Server 2014 Kļūda1_2.mdf Kļūda1_2_fiksēts.mdf

 

Norādes:

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