DBCC CHECKCONSTRAINTS Nedir

27 Şub by NURULLAH ÇAKIR

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;

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir