DBCC CHECKCONSTRAINTS Nedir
DBCC CHECKCONSTRAINTS bir tabloda belirtilen bir constraint’in ya da bütün constraint’lerin tutarlılığını kontrol eder.
Peki Constraint Nedir?
Constraint’ler veritabanındaki veri için konulan kısıtlamalardır. Birkaç constraint çeşidi vardır. Bu konstraint’lerin her biri ile ilgili makaleyi aşağıda bulabilirsiniz.
NOT NULL |
Tablo oluştururken kolonların sonuna konulan ve kolona gelen kaydın null olamayacak şekilde kısıtlayan constraint’dir. |
UNIQUE CONSTRAINT |
“Unique Constraint” isimli makalemde detaylarını bulabilirsiniz. |
PRIMARY KEY |
“Primary Key ve Foreign Key” isimli makalemde bulabilirsiniz. |
FOREIGN KEY |
“Primary Key ve Foreign Key” isimli makalemde bulabilirsiniz. |
CHECK CONSTRAINT |
“CHECK CONSTRAINT” isimli makalemde bulabilirsiniz. |
DEFAULT CONSTRAINT |
“Tablodaki Nullable Kolonlara Default Constraint Tanımlamak” isimli makalemde bulabilirsiniz. |
Veritabanı üzerinde bir tutarsızlık oluştuğunda DBCC CHECK ile başlayan komutlardan bazılarını kullanarak veritabanındaki tutarsızlığı gidermemiz gerekebilir. Sorunu bu şekilde gidermek bazen constraint’ler le ilgili problem oluşturabilir. Bu yüzden tutarsızlığı giderme işleminden sonra aşağıdaki komut yardımıyla constraint’lerdeki tutarlılığı kontrol edebiliriz.
USE Test GO DBCC CHECKCONSTRAINTS (N'TestTable') WITH NO_INFOMSGS, ALL_ERRORMSGS;
Yukarıda çalıştırdığımız komut ile sadece aktif olan constraint’lerin tutarlılığı kontrol ediliyor. Script’e aşağıda gördüğünü gibi sss eklediğimizde aktif ve pasif bütün constraint’leri kontrol edecektir.
USE Test GO DBCC CHECKCONSTRAINTS (N'TestTable') WITH ALL_CONSTRAINTS,NO_INFOMSGS, ALL_ERRORMSGS;
Sadece bir tane constraint’in tutarlılığını kontrol etmek istiyorsak da aşağıdaki script yardımıyla bu işlemi gerçekleştirebiliriz. Aşağıdaki script’te ConstraintOrnek ismindeki constraint’in tutarlılığı kontrol ediliyor.
USE Test GO DBCC CHECKCONSTRAINTS (N'ConstraintOrnek') WITH NO_INFOMSGS, ALL_ERRORMSGS;