Semasa anda menggunakan Microsoft SQL Server untuk melampirkan atau mengakses fail pangkalan data MDF yang rosak, anda akan melihat pelbagai mesej ralat, yang mungkin sedikit membingungkan anda. Oleh itu, di sini kita akan cuba menyenaraikan semua kemungkinan kesalahan, disusun mengikut kekerapannya. Untuk setiap kesilapan, kami akan menerangkan simptomnya, menjelaskan sebabnya yang tepat dan memberikan contoh fail serta fail yang diperbaiki oleh kami DataNumen SQL Recovery, supaya anda dapat memahaminya dengan lebih baik. Di bawah ini kami akan menggunakan 'xxx.MDF' untuk menyatakan kerosakan anda SQL Server Nama fail pangkalan data MDF.
Berdasarkan SQL Server atau Mesej ralat CHECKDB, terdapat tiga jenis kesalahan yang akan menyebabkan kegagalan:

    1. 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 Deskripsi
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: Bagi 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.

 

SQL Server mempunyai alat terbina dalam yang dipanggil DBCC, yang telah CHECKDB dan JADUAL SEMAK pilihan yang dapat membantu memperbaiki pangkalan data MDF yang rosak. Walau bagaimanapun, untuk fail pangkalan data MDB yang rosak teruk, DBCC CHECKDB dan JADUAL SEMAK juga akan gagal.

Kesalahan konsistensi yang dilaporkan oleh CHECKDB:

Kesalahan peruntukan yang dilaporkan oleh CHECKDB:

Semua kesilapan lain yang dilaporkan oleh CHECKDB: