Aracılığıyla paylaş


DBCC CHECKCONSTRAINTS Transact-SQL)

Denetler bütünlük belirtilen sınırlama veya belirtilen bir tablo geçerli veritabanındaki tüm kısıtlamalar.

Topic link iconTransact-SQL sözdizimi kuralları

DBCC CHECKCONSTRAINTS
[ 
        ( 
        table_name | table_id | constraint_name | constraint_id 
        )
]
    [ WITH 
        [ { ALL_CONSTRAINTS | ALL_ERRORMSGS } ]
    [ , ] [ NO_INFOMSGS ] 
    ]

Bağımsız değişkenler

  • table_name | table_id | constraint_name | constraint_id
    Tablo veya denetlenecek kısıtlama belirtilir.Ne zaman table_name veya table_id Belirtilen tüm kısıtlamalar, etkin tablo denetlenir. Ne zaman constraint_name veya constraint_id olduğundan, belirtilen Bu kısıtlama yalnızca denetlenir. Bir tablo tanıtıcısı, kendisi de bir kısıtlama tanımlayıcısı belirtilirse, geçerli veritabanındaki tüm tablolarda yer alan tüm etkin kısıtlamalar denetlenir.

    Bir kısıtlama adı benzersiz olarak tanımlayan tablo ait olduğu.Daha fazla bilgi için bkz:Tanımlayıcılar.

  • İLE
    Seçeneklerin belirtilmesine olanak sağlar.

  • all_constraints
    Tüm etkin ve tablo adı belirtilmedi veya tüm tabloları işaretli ise; aksi halde, yalnızca etkin kısıtlamayı denetler tablo kısıtlamaları devre dışı denetler.Bir kısıtlama adı belirtildiğinde ALL_CONSTRAINTS hiçbir etkisi olmaz.

  • all_errormsgs
    Içinde kısıtlamaları ihlal eden tüm satırları döndürür tablo kontrol edilir.Ilk 200 satırları varsayılandır.

  • no_infomsgs
    Tüm bilgi iletileri bastırır.

Remarks

DBCC CHECKCONSTRAINTS yapıları ve tüm yabancı anahtar kısıtlamaları ve tablo CHECK kısıtlamalar için bir sorgu yürütür.

Örneğin, bir yabancı anahtar aşağıdaki biçimde sorgudur:

SELECT <columns>
FROM <table_being_checked> LEFT JOIN <referenced_table>
    ON <table_being_checked.fkey1> = <referenced_table.pkey1> 
    AND <table_being_checked.fkey2> = <referenced_table.pkey2>
WHERE <table_being_checked.fkey1> IS NOT NULL 
    AND <referenced_table.pkey1> IS NULL
    AND <table_being_checked.fkey2> IS NOT NULL
    AND <referenced_table.pkey2> IS NULL

Sorgu verilerini bir temp depolanan tablo.Tüm istenilen tablolar veya kısıtlamaları denetledikten, sonuç kümesi verir.

DBCC CHECKCONSTRAINTS yabancı anahtar CHECK kısıtlamaları bütünlüğünü denetler, ancak disk üzerindeki veri yapılarının tablonun bütünlük denetimi yapmaz.Bu veri yapısını denetimler kullanılarak gerçekleştirilebilir. dbcc checkdb and dbcc checktable.

Sonuç Kümeleri

DBCC CHECKCONSTRAINTS aşağıdaki sütunlar içeren satır kümesi kümesi döndürür.

Sütun adı

Veri türü

Açıklama

Tablo adı

varchar

Tablonun adı.

Kısıtlama adı

varchar

Kısıtlamayı ihlal adı.

burada

varchar

Satır veya satırları kısıtlamayı ihlal tanımlayan sütun değer atamaları.

Bu sütundaki değeri kısıtlamayı ihlal eden satırları sorgulanırken bir deyim, WHERE yan tümcesinde kullanılamaz.

İzinler

Üyelik gerektirir sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü.

Örnekler

C.Bir tablo denetimi

Aşağıdaki örnek, kısıtlamayı denetler bütünlük tablo Table1 içinde AdventureWorks Veritabanı.

b.Belirli bir kısıtlama denetleniyor

Aşağıdaki örnek bütünlüğünü denetler CK_ProductCostHistory_EndDate kısıtlama.

c.Tüm etkin denetleyip tüm tabloları kısıtlamaları'nı devre dışı

Aşağıdaki örnek, tüm bütünlük etkin ve bu kısıtlamalar, geçerli veritabanındaki tüm tabloları devre dışı denetler.