DBCC CHECKDB
Parametre olarak verilen veritabanının bütünlük kontrolleri yapılır. Veritabanında oluşturulan her index içeriği doğrulanır, FILESTREAM kullanılıyorsa metadata ve dosya sistemi arasındaki uyumluluk kontrol edilir.

dbcc_checkdb

Eğer tabloda veya index’lerde bulunan verilerde herhangi bir sorun varsa bunu mesaj penceresinde görüyor olacaktık. Mesajların sonuna indiğimizde ;

CHECKDB found 0 allocation errors and 0 consistency errors in database ‘AdventureWorks2008′.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

CHECKDB sonucunda bize herhangi bir hata olmadığı bilgisini iletiyor. Sırası ile CHECKDBkomutunun alabileceği parametreleri görelim.

DATABASE_Name – DATABASE_ID
CHECKDB komutu veritabanı adı veya veritabanı id bilgisi verilerek çalıştırılır. Parametre verilmeden çalıştırılırsa o anda aktif olan veritabanı için CHECKDB komutu çalışır.

DBCC CHECKDB ('AdventureWorks')

NOINDEX
CHECKDB işlemine tâbi tutulacak veritabanda bulunan Non-Clustered index’lerin kontrol işlemine tâbi tutulmaması için NOINDEX parametresini kullanabiliriz. Index’ler kontrol edilmeyeceği içinCHECKDB işlemi daha hızlı sonlanacaktır.

DBCC CHECKDB ('AdventureWorks',NOINDEX)

REPAIR_ALLOW_DATA_LOSS – REPAIR_FAST – REPAIR_REBUILD
CHECKDB işlemi sonrasında tablo veya index’lerde kayıt sorunu varsa bu kayıtlarda oluşan hataları düzeltmek için kullanılan komutlardır. Bu komutlar kullanılmadan önce veritabanı Single User Mode alınmış olmalıdır.
REPAIR_ALLOW_DATA_LOSS
DBCC CHECKDB işleminde raporlanan hataları düzeltmek için kullanılır. Düzeltme işleminde veri kaybı meydana gelebilir. Bu komut çalıştırılmadan önce yedek alınması yararınıza olacaktır.

ALTER DATABASE AdventureWorks SET SINGLE_USER
GO
DBCC CHECKDB('AdventureWorks',REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE AdventureWorks SET MULTI_USER

REPAIR_FAST
Veri kaybı olmadan hızlıca hataları düzeltmek için kullanılır.

ALTER DATABASE AdventureWorks SET SINGLE_USER
GO
DBCC CHECKDB('AdventureWorks',REPAIR_FAST)
GO
ALTER DATABASE AdventureWorks SET MULTI_USER

REPAIR_REBUILD
Veri kaybı olmadan hataları düzelmek için kullanılır. Bu işlemde index rebuild yapılması veya index’te eksik kayıtların index’e dahil edilmesi işlemi vb.

ALTER DATABASE AdventureWorks SET SINGLE_USER
GO
DBCC CHECKDB('AdventureWorks',REPAIR_REBUILD)
GO
ALTER DATABASE AdventureWorks SET MULTI_USER

ESTIMATEONLTY
DBCC CHECKDB işlemi için TempDB‘de kullanılacak olan alanın tahmini değerini verir.

DBCC CHECKDB('AdventureWorks') WITH ESTIMATEONLY

PHYSICAL_ONLY
DBCC CHECKDB işleminin kısıtlı halidir. Daha kısa sürdüğü için Production ortamlarında kullanılabilir.

DBCC CHECKDB('AdventureWorks') WITH PHYSICAL_ONLY

TABLOCK
CHECKDB işleminde TABLOCK parametresi işlemin daha kısa sürmesini sağlar ancak veritabanına erişimi bir süreliğine durdurur.

DBCC CHECKDB('AdventureWorks') WITH TABLOCK

NOT: Veritabanlarının sağlıklı çalışabilmesi için belli aralıklarla CHECKDB kontrollerinin yapılması önerilir. Maintenance Plan ‘ınıza eklemenizi tavsiye ederim.

Yazıyı beğendiyeseniz sosyal medyada paylaşabilirsiniz.

Yazar Hakkında

Avatar
Mesut Günes

Dogan Online Database Administrator

cialis generic kamagra gel cheap cialis uk levitra uk cialis generic kamagra gel kamagra 100mg cheap cialis uk cheap levitra uk cheap cialis kamagra 100mg cialis tadalafil kamagra oral jelly cialis buy viagra generic levitra uk kamagra gel cialis generic cheap levitra cheap viagra uk

Yorumlar

  1. Avatar
    Mustafa Demircioglu

    29/01/2015

    Eline saglik Mesut.

Yorum Yazın

.com

Bülten Üyeliği

Güncel eğitim ve etkinliklerden ilk haberdar olmak için ücretsiz abone olun.

Login

Login olmak için kullanıcı adınızı ve şifrenizi giriniz.

Şifremi Unuttum

×

Hızlı İletişim

Her konuda bana yazabilirsiniz. En kısa zamanda cevap vereceğim.

×