Pulihkan Korupsi SQL Server Basis Data MDF

Bila Anda SQL Server Database MDF rusak, Anda dapat menggunakan metode berikut untuk memulihkan data di dalamnya, untuk mengurangi kerugian:

Catatan: Sebelum melakukan operasi pemulihan data, harap buat cadangan file database MDF & NDF Anda yang rusak terlebih dahulu.

  1. Pertama-tama, Anda bisa mencoba SQL Server perintah bawaan DBCC CHECKDB untuk memulihkan database Anda. Dengan asumsi file database yang rusak adalah 'MyDatabase.mdf', maka Anda dapat melakukan hal berikut untuk memulihkan data di dalamnya:
    1. Soaltart SQL Server.
    2. Jangan melakukan operasi apa pun.
    3. In SQL Server Studio Manajemen, jalankan pernyataan SQL berikut:
      gunakan master mendeklarasikan @databasename varchar (255) set @ databasename = 'MyDatabase.mdf' exec sp_dboption @databasename, N'single ', N'true' - Setel database tujuan ke mode pengguna tunggal dbcc checkdb (@ databasename, REPAIR_ALLOW_DATA_LOSS ) dbcc checkdb (@ databasename, REPAIR_REBUILD) exec sp_dboption @databasename, N'single ', N'false' - Setel database tujuan kembali ke mode multi-pengguna
      

      Pernyataan

      dbcc checkdb (@ databasename, REPAIR_ALLOW_DATA_LOSS)
      

      dapat menyebabkan hilangnya beberapa data di database Anda saat melakukan operasi perbaikan.

      Sedangkan pernyataannya

      checkdb dbcc (@ databasename, REPAIR_REBUILD)
      

      TIDAK akan menyebabkan kehilangan data selama operasi perbaikan, tetapi lebih memakan waktu.

      Jadi jika Anda tidak dalam keadaan mendesak, pertama-tama Anda dapat mencoba melakukan pernyataan checkdb kedua dbcc saja, jika pernyataan itu tidak dapat membantu memulihkan database, maka Anda dapat melakukan perintah dbcc checkdb pertama dan kedua.

      Setelah operasi perbaikan, Anda dapat menelepon

      dbcc checkdb ('MyDatabase.mdf')
      

      sekali lagi untuk melihat apakah database sudah diperbaiki atau belum.

      Informasi lebih rinci tentang perintah dbcc checkdb dapat ditemukan di https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15

  2. Jika setelah menggunakan metode 1, dbcc checkdb masih melaporkan kesalahan di beberapa tabel, Anda dapat mencoba SQL Server built-in perintah DBCC CHECKTABLE untuk memulihkan tabel ini di database Anda. Dengan asumsi file database yang rusak adalah 'MyDatabase.mdf' dan tabel yang ingin Anda perbaiki adalah 'MyTable', maka Anda dapat melakukan hal berikut untuk memperbaikinya:
    1. Soaltart SQL Server.
    2. Jangan melakukan operasi apa pun.
    3. In SQL Server Studio Manajemen, jalankan pernyataan SQL berikut:
      gunakan MyDatabase.mdf mendeklarasikan @dbname varchar (255) set @ dbname = 'MyDatabase.mdf' exec sp_dboption @ dbname, 'single user', 'true' dbcc checktable ('MyTable', REPAIR_ALLOW_DATA_LOSS) dbcc checktable ('MyTable', REPAIR_REBUILD ) exec sp_dboption @ dbname, 'pengguna tunggal', 'salah'
      

      Pernyataan

      dbcc checktable ('MyTable', REPAIR_ALLOW_DATA_LOSS)
      

      dapat menyebabkan hilangnya beberapa data di tabel Anda saat melakukan operasi perbaikan.

      Sedangkan pernyataannya

      dbcc checktable ('MyTable', REPAIR_REBUILD)
      

      TIDAK akan menyebabkan kehilangan data selama operasi perbaikan, tetapi lebih memakan waktu.

      Jadi, jika Anda tidak dalam keadaan mendesak, Anda dapat mencoba melakukan pernyataan tabel periksa dbcc kedua saja terlebih dahulu, jika pernyataan itu tidak dapat membantu memulihkan database, maka Anda dapat menjalankan perintah tabel periksa dbcc pertama dan kedua.

      Setelah Anda menyelesaikan operasi perbaikan untuk semua tabel yang rusak, Anda dapat memanggil

      dbcc checkdb ('MyDatabase.mdf')
      

      sekali lagi untuk melihat apakah tabel dalam database sudah diperbaiki atau tidak.

    Informasi lebih rinci tentang perintah dbcc checktable dapat ditemukan di https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checktable-transact-sql?view=sql-server-ver15

  3. Jika metode 1 dan 2 masih tidak dapat memperbaiki database atau tabel yang rusak, atau jika metode ini tidak dapat memulihkan data yang Anda inginkan, Anda dapat menggunakan DataNumen SQL Recovery untuk memulihkan data dari database MDF Anda.