Wednesday 29 January 2014

SQL Server Hosting - JaringanHosting.com :: Perbaiki Database Menggunakan DBCC CHECKDB

Pada kesempatan kali ini, saya akan menjelaskan cara memperbaiki database menggunakan DBCC CHECKDB pada SQL Server. Sebelumnya saya menuliskan beberapa poin pentingnya:

  • Jika ada error dan DBCC CHECKDB bisa memperbaikinya, maka DBCC CHECKDB menunjukkan tingkat perbaikan yang diperlukan untuk memperbaiki kesalahan tertentu. 
  • Sebagian besar error yang dilaporkan oleh DBCC CHECKDB, menganjurkan untuk mengembalikan database dari restore yang baik. 
  • Jika tidak ada restore yang baik, maka Anda harus menggunakan opsi perbaikan dengan DBCC CHECKDB. 
  • Anda juga harus ingat bahwa perbaikan database adalah operasi yang terpisah dari  DBCC CHECKDB normal karena database harus ditempatkan dalam mode pengguna tunggal dengan perintah ALTER DATABASE sebelum DBCC CHECKDB dapat dijalankan dengan opsi REAPIR. 
  • Jadi sekarang, jika Anda ingin menempatkan sample database AdventureWorks2008R2 dalam mode single-user, kemudian tulis kode:

 ALTER DATABASE AdventureWorks2008R2 SET SINGLE_USER;   

Kode di atas akan menunggu tanpa batas waktu jika ada key pada database atau pengguna yang terhubung ke database. Jadi untuk mengatasi situasi ini, gunakan kode di bawah ini:
 ALTER DATABASE AdventureWorks2008R2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;  


Jika opsi AUTO_UPDATE_STATISTICS_AYSYNC untuk database: ON, maka Anda tidak akan dapat menempatkan database dalam mode single-user karena backgroud thread yang digunakan untuk memperbarui statistik membutuhkan koneksi terhadap database.

DBCC menawarkan dua mode perbaikan: 
  • REPAIR_REBUILD: perbaikan yang tidak menyebabkan hilangnya data. 
  • REPAIR_ALLOW_DATA_LOSS: melakukan perbaikan dan perbaikan untuk struktur database rusak, dan juga mengakibatkan hilangnya data. 
Contoh berikut akan membantu Anda dalam memahami seluruh konsep, di mana saya telah menggunakan DBCC CHECKDB dengan opsi REPAIR_ALLOW_DATA_LOSS;

 ALTER DATABASE AdventureWorks2008R2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;  
 BEGIN TRANSACTION;  
 DBCC CHECKDB ('AdventureWorks2008R2', REPAIR_ALLOW_DATA_LOSS);  
 ALTER DATABASE AdventureWorks2008R2 SET MULTI_USER;  


DBCC CHECKDB meminta Anda untuk menggunakan REAPIR_ALLOW_DATA_LOSS, kemudian mengambil backup database penuh pertama dan kemudian jalankan DBCC CHECKDB dengan opsi perbaikan dalam transaksi pengguna. Anda juga dapat memperbaiki dalam Parallel, yaitu dalam Multi-User. Sejak menjalankan DBCC CHECKDB secara paralel adalah prosesor intensif. Sehingga Anda dapat menonaktifkannya, jika hal itu bertentangan dengan environment atau situasi dengan bantuan trace flag 2528.

JaringanHosting.com adalah provider ASP.NET dan Windows hosting No #1 di Indonesia sesuai dengan rekomendasi dari pihak Microsoft. Microsoft memberikan rekomendasi ini berdasarkan pada beberapa persyaratan utama, yaitu: WebMatrix, WebDeploy, Visual Studio 2012,ASP.NET 4.5,ASP.NET MVC 4.0, Silverlight 5 and Visual Studio Lightswitch.Untuk keterangan lanjutan, silahkan klik disini!

0 comments:

Post a Comment