Apabila menggunakan Microsoft SQL Server untuk melampirkan atau mengakses fail pangkalan data MDF yang rosak, anda mungkin menghadapi pelbagai mesej ralat yang boleh mengelirukan. Di bawah, kami akan menyenaraikan semua ralat, diisih mengikut kekerapan. Untuk setiap ralat, kami akan menggariskan simptomnya, menerangkan punca sebenar dan menyediakan fail sampel bersama-sama dengan fail yang diperbaiki oleh DataNumen SQL Recovery. Ini akan membantu anda memahami ralat ini dengan lebih baik. Nota 'xxx.MDF' akan mewakili nama rasuah anda SQL Server fail pangkalan data MDF.
Berdasarkan SQL Server atau mesej ralat CHECKDB, terdapat tiga jenis ralat:
-
- Kesalahan peruntukan: Kami tahu data dalam fail MDF & NDF diperuntukkan sebagai muka surat. Dan ada beberapa halaman khas yang digunakan untuk pengurusan peruntukan, seperti berikut:
Jenis Halaman | Penerangan Produk |
Halaman GAM | Simpan maklumat peta peruntukan global (GAM). |
Halaman SGAM | Simpan maklumat peta peruntukan global (SGAM) yang dikongsi. |
Halaman IAM | Maklumat peta peruntukan indeks (IAM). |
Halaman PFS | Simpan maklumat peruntukan PFS. |
Sekiranya salah satu halaman peruntukan di atas mempunyai kesalahan, atau data yang dikendalikan oleh halaman peruntukan ini tidak sesuai dengan maklumat peruntukan, maka SQL Server atau CHECKDB akan melaporkan kesalahan peruntukan.
- Kesalahan konsistensi: Untuk muka surat yang digunakan untuk menyimpan data, termasuk halaman data dan halaman indeks, jika SQL Server atau CHECKDB mendapati terdapat percanggahan antara isi halaman dan checksum, maka mereka akan melaporkan kesilapan konsistensi.
- Semua kesilapan lain: Mungkin ada kesalahan lain yang tidak termasuk dalam dua kategori di atas.
- xxxx.mdf bukan fail pangkalan data utama. (Microsoft SQL Server, Ralat: 5171)
- Tajuk untuk fail 'xxxx.mdf' bukan tajuk fail pangkalan data yang sah. Properti FILE SIZE salah. (Microsoft SQL Server, Ralat: 5172)
- SQL Server mengesan ralat I / O berdasarkan konsistensi logik: checksum yang salah
- SQL Server mengesan ralat I / O berdasarkan konsistensi logik: halaman koyak
- Anda tidak sengaja memadam beberapa rekod atau beberapa jadual dalam pangkalan data.
SQL Server mempunyai alat terbina dalam yang dipanggil DBCC, yang telah CHECKDB and JADUAL SEMAK pilihan yang dapat membantu memperbaiki pangkalan data MDF yang rosak. Walau bagaimanapun, untuk fail pangkalan data MDB yang rosak teruk, DBCC CHECKDB and JADUAL SEMAK juga akan gagal.
Kesalahan konsistensi yang dilaporkan oleh CHECKDB:
- SQL Server mengesan ralat I / O berdasarkan konsistensi logik: checksum yang salah
- Baris dalam sys.xxx tidak mempunyai baris yang sepadan dengan sys.xxx.
- Kesalahan jadual: ID Objek ##, indeks ID ## akan dibina semula.
- Indeks jadual sistem ini tidak dapat dibuat semula.
- Objek Objek ##, ID indeks ##, ID partisi ##, ID unit peruntukan ## (jenis Tidak Diketahui), ID halaman (##: 560) mengandungi ID halaman yang salah di tajuk halamannya.
Kesalahan peruntukan yang dilaporkan oleh CHECKDB:
- Halaman Peta Peruntukan Indeks (IAM) ditunjuk oleh Pointer Halaman IAM yang seterusnya
- Luas (##: ##) dalam pangkalan data ID ## ditandai diperuntukkan dalam GAM, tetapi tidak ada SGAM atau IAM yang memperuntukkannya.
Semua kesilapan lain yang dilaporkan oleh CHECKDB:
- Gagal: (- #######) Menjalankan pertanyaan "DBCC CHECKDB (xxxx) WITH NO_INFOMSGS" gagal dengan ralat berikut: "xxxx".
- Kesalahan I / O (ID halaman buruk) dikesan semasa dibaca pada offset 0x ###### dalam fail 'xxxx.mdf'.
- Sistem Tidak Dapat Mengaktifkan Cukup Pangkalan Data Untuk Membina Semula Log
- Kehilangan Data Semasa Membaiki Dengan CHECKDB
- Fail nampaknya telah dipotong oleh sistem operasi.
- Semasa membuat semula operasi log dalam pangkalan data 'xxxx', berlaku ralat pada ID rekod log.