Artikel ini akan menjelaskan kepada Anda cara mengatasi database yang meragukan di SQL Server. Terkadang database ditandai sebagai meragukan secara tidak sengaja. Berikut beberapa solusinya. 1. Konfirmasikan terlebih dahulu bahwa file .mdf dan .ldf telah dicadangkan.
2. Buat database baru dengan nama yang sama di SQL Server, lalu hentikan layanan SQL Server.
3. Timpa file .mdf dan .ldf yang sesuai dengan database baru dengan file .mdf dan .ldf asli.
4. Mulai ulang layanan SQL Server. Anda akan melihat bahwa database berada dalam status tersangka.
5. Jalankan perintah berikut di SQL Query Analyzer untuk memungkinkan tabel sistem diperbarui:
gunakan mastergosp_configure 'izinkan pembaruan',1konfigurasi ulang dengan overridego
6. Masukkan database ini ke mode darurat:
perbarui sysdatabases set status = 32768 di mana nama = 'db_name'go
7. Gunakan perintah DBCC CHECKDB untuk memeriksa kesalahan dalam database:
DBCC CHECKDB('nama_db')PERGI
8. Jika perintah DBCC CHECKDB gagal, lanjutkan ke langkah 10, jika tidak, alihkan database ke mode pengguna tunggal sebelum mencoba memperbaikinya:
sp_dboption 'db_name','pengguna tunggal','true'DBCC CHECKDB('db_name', REPAIR_ALLOW_DATA_LOSS)GO
Jika Anda diminta bahwa database tidak dalam mode pengguna tunggal saat menjalankan perintah DBCC CHECKDB('db_name', REPAIR_ALLOW_DATA_LOSS), mulai ulang layanan SQL Server dan lanjutkan mencoba.
9. Jika perintah DBCC CHECKDB('db_name', REPAIR_ALLOW_DATA_LOSS) gagal, lanjutkan ke langkah 10, sebaliknya jika kesalahan pada database berhasil diperbaiki:
Jalankan kembali perintah DBCC CHECKDB('db_name') untuk mengonfirmasi bahwa tidak ada kesalahan dalam database.
Hapus status database yang dicurigai: sp_resetstatus 'db_name'
Hapus status mode pengguna tunggal dari database: sp_dboption 'db_name','single user','false'
Mulai ulang layanan SQL Server. Jika semuanya normal, database telah berhasil dipulihkan.
10. Jika langkah di atas tidak dapat menyelesaikan masalah, silakan merujuk ke dokumen terlampir dan coba pulihkan data di database dengan membuat kembali log transaksi. Jika Anda hanya memiliki file MDF, masalahnya menjadi lebih rumit dan kita perlu membangun kembali log transaksi secara langsung:
1. Buat database baru dengan nama yang sama di SQL Server, lalu hentikan layanan SQL Server.
2. Gunakan file ldf asli untuk menimpa file .mdf yang sesuai dengan database yang baru dibuat, dan hapus file lognya (.ldf).
3. Mulai layanan SQL Server dan masukkan database ke mode darurat (sama seperti di atas: Langkah 5 dan Langkah 6).
4. Hentikan dan mulai ulang layanan SQL Server.
5. Jalankan perintah berikut untuk membangun kembali file log database: (Berikut ini adalah contoh, Anda perlu menggunakan nama database Anda yang sebenarnya)
DBCC REBUILD_LOG('cas_db', 'D:cas_dbcas_db_Log.LDF')
6. Ganti database ke mode single-user.
7. Coba lagi menggunakan perintah DBCC CHECKTABLE atau DBCC CHECKDB untuk memeriksa dan memperbaiki kesalahan pada database
-