Pada saat program aplikasi anda telah berjalan di sebuah perusahaan, database adalah merupakan bagian yang paling penting untuk dilakukan perawatan dengan sempurna, misalkan dengan backup, mirror atau dengan cara alternatif lain. Oleh karena itu anda harus berhati-hati dan mempersiapkan kiat-kiat khusus dalam mengantisipasi, jika terjadi hal-hal yang tidak diinginkan.

Tetapi pada perjalanannya, ada saja permasalahan yang datang dan harus bisa anda atasi agar database masih tetap terjaga utuh. Salah satu permasalah yang terjadi adalah Database Suspect. Dalam kondisi tersebut, anda tidak bisa melakukan backup atau import database tersebut apalagi membuka database tersebut, sehingga anda sudah tidak bisa menggunakan database tersebut sama sekali.

Tetapi hal ini bisa diatasi dengan cara yang sangat sederhana, khususnya versi SQL Server 2005 dan setelahnya.

Penyebab Database Suspect adalah beberapa kemungkinan yaitu:

  • Tidak ada cukup ruang penyimpanan disk yang tersedia untuk memulihkan database SQL Server saat startup SQL Server.
  • Database tidak dapat dibuka, karena file fisik tidak dapat diakses atau tidak cukup memori atau ruang disk.
  • File-file fisik database .LDF atau .MDF rusak atau corupt.
  • Adanya gangguan listrik sehingga server mati mendadak dan SQL Server tidak sempat Shutdown dan mesin database masih dalam keadaan bekerja.

Berikut langkah-langkah cara mengatasi Database Suspect:

Pastikan bahwa anda sudah melakukan backup file database secara dedicated dengan cara mengcopy file .LDF dan .MDF

  • dari folder Data ke folder backup yang aman. (terlebih dahulu matikan service (Stop) mesin database SQL Server).
  • Buka Microsoft SQL Server Management Studio dan koneksi ke Server, lalu menuju ke database anda yang suspect.
  • Click tombol Query untuk membuat sebuah query yang digunakan untuk mengatasi database suspect tersebut.
  • Paste Query dibawah ini dan ganti [Database_Suspect_Anda] dengan nama database yang akan anda perbaiki.
    EXEC sp_resetstatus [Database_Suspect_Anda];
    ALTER DATABASE [Database_Suspect_Anda] SET EMERGENCY
    DBCC checkdb([Database_Suspect_Anda])
    ALTER DATABASE [Database_Suspect_Anda] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    DBCC CheckDB ([Database_Suspect_Anda], REPAIR_ALLOW_DATA_LOSS)
    ALTER DATABASE [Database_Suspect_Anda] SET MULTI_USER
    
  • Tekan tombol Execute, tunggu beberapa saat, maka database anda akan pulih seperti sediakala.

Demikian pengalaman saya dalam mengatasi database SQL Server suspect yang sederhana ini dan semoga bisa membantu anda mengatasi masalah.

Photo oleh: pixabay