Jumat, 03 Agustus 2018

[SQL Server] Memperbaiki Suspect Database


Pada artikel singkat ini, kita akan belajar memperbaiki database di SQL Server yang berstatus Suspect. Melakukan restore dari backup merupakan jalan tercepat dan termudah, tapi bagaimana jika kita tidak mempunyai backup pada database tersebut?kita bisa masuk ke EMERGENCY mode dan merepair database tersebut.


buka SQL Server Management Studio, jalankan query berikut satu-persatu:

USE master
GO

ALTER DATABASE DB_YUD SET EMERGENCY
GO

DBCC CHECKDB (DB_YUD)
GO

ALTER DATABASE DB_YUD SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

DBCC CHECKDB (DB_YUD, REPAIR_ALLOW_DATA_LOSS)
GO

ALTER DATABASE DB_YUD SET MULTI_USER
GO

Setelah proses repair selesai, akan terdapat log dimana tabel yang rusak atau corrupt. Jadi kita bisa tahu kemungkinan data apa yang hilang karena menggunakan command repair_allow_data_loss.

Berikut warning dari Microsoft:

The REPAIR_ALLOW_DATA_LOSS option is a supported feature but it may not always be the best option for bringing a database to a physically consistent state. If successful, the REPAIR_ALLOW_DATA_LOSS option may result in some data loss. In fact, it may result in more data lost than if a user were to restore the database from the last known good backup.
Microsoft always recommends a user restore from the last known good backup as the primary method to recover from errors reported by DBCC CHECKDB. The REPAIR_ALLOW_DATA_LOSS option is not an alternative for restoring from a known good backup. It is an emergency “last resort” option recommended for use only if restoring from a backup is not possible

Singkatnya, menggunakan repair_allow_data_loss bukan alternative dalam memperbaiki database yang rusak karena mengakibatkan data hilang, namun ini adalah jalan terakhir jika kita tidak mempunyai backupnya.

Semoga Bermanfaat

referensi:
https://www.mytechmantra.com/LearnSQLServer/Repair_Suspect_Database_P2.html
https://www.sqlskills.com/blogs/paul/checkdb-from-every-angle-emergency-mode-repair-the-very-very-last-resort/
https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-2017

Artikel ini dibuat oleh Yudha Tri Putra sebagai penulis artikel, diperbolehkan menyalin artikel ini secara utuh tanpa mengubah atau menambah isi artikel.

0 komentar:

Posting Komentar

(C) 2018. Diberdayakan oleh Blogger.

Categories

Followers