Recover, Attach Corrupt Database In SQL Server

Jika server Anda rusak dan database SQL Server menjadi corrupt maka langkah-langkah dibawah ini mungkin dapat dijadikan panduan untuk melakukan recovery.

Langkah 1

1. Pindahkan file mdf dan ldf di folder terpisah.
2. Buat database baru (MDF & LDF) di SQL Server dengan nama yang sama dengan database yang corrupt tadi.
3. Stop service SQL Server.
4. Copy database corrupt tersebut dan timpakan di database yang baru saja dibuat.
5. Start service SQL Server.
6. Maka pada saat kita melakukan koneksi ke instan, terlihat nama database baru tadi akan di suspect.

Setelah itu lakukan repair database sesuai link dibawah ini :

Langkah 2

1. Login sa ke dalam SQL Server.

2. Jalankan perintah :
  • EXEC sp_resetstatus 'nama_database';
sp_resetstatus mematikan flag suspect pada database. Prosedur ini melakukan update kolom modus dan status bernama database dalam sys.databases. Juga mencatat bahwa hanya login memiliki hak sysadmin yang dapat melakukan ini, sehingga akan muncul pesan :


"You must recover this database prior to access"

3. Jalankan perintah : 
  • ALTER DATABASE nama_database SET EMERGENCY;
Setelah database diatur ke modus EMERGENCY sehingga menjadi READ_ONLY dan hanya sysadmin yang memiliki hak untuk mengaksesnya. Tujuan dasar untuk ini adalah agar pengguna lain tidak mengupdate database pada saat sedang diperbaiki.

4. Jalankan perintah :
  • DBCC checkdb('nama_database');
Perintah diatas digunakan untuk melakukan pengechekan konsistensi.

5. Jalankan perintah :
  • ALTER DATABASE nama_database SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
Query di atas akan melakukan rollback transaksi apapun dalam database dan akan membuat database ke mode Single User.

6. Jalankan perintah :
  • DBCC CheckDB ('nama_database', REPAIR_ALLOW_DATA_LOSS);
Query ini akan berusaha untuk memperbaiki semua kesalahan yang dilaporkan. Perbaikan ini dapat menyebabkan beberapa kehilangan data. Setelah DBCC CHECKDB dengan Repair dengan opsi Data Loss dieksekusi, database masuk ke modus Single User

7. Jalankan perintah :
  • ALTER DATABASE nama_database SET MULTI_USER;
Setelah melakukan langkah di atas database akn masuk ke mode multiple user.

8. Jalankan perintah :
  • DBCC CheckDB ('nama_database');
Demi keamanan, kembali periksa konsistensi database yang baru saja diperbaiki.

9. Jalankan perintah :
  • ALTER DATABASE nama_database SET ONLINE;
Tahap akhirnya adalah membuat database kembali online.

Recommended Reading:
The User Does Not Have Permission To Update


Semoga postingan Recover, Attach Corrupt Database In SQL Server diatas bermanfaat.


Salam,

Popular posts from this blog

SmartObject property ID is a required property for selected method Create. Value must be set.

Cara inject USB 3.0 Driver pada instalasi Windows - How to Inject USB 3.0 Driver in Windows 7

Python Font Color in Console