Udostępnij za pośrednictwem


DBCC CHECKCONSTRAINTS (Transact-SQL)

Sprawdza, czy integralność ograniczenie określonych lub wszystkich ograniczeń określonej tabela w bieżącej bazie danych.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • table_name | table_id | constraint_name | constraint_id
    To ograniczenie, które mają być sprawdzane lub tabela.Kiedy table_name lub table_id jest określony, wszystkie ograniczenia włączone w tej tabela są zaznaczone. Kiedy constraint_name lub constraint_id jest określony, jest sprawdzana tylko tego ograniczenia. Jeśli zostanie określony identyfikator tabela ani identyfikator ograniczenia są sprawdzane wszystkie ograniczenia włączone na wszystkich tabelach w bieżącej bazie danych.

    Nazwa ograniczenia jest unikatowym identyfikatorem tabela, do której należy.Aby uzyskać więcej informacji zobaczIdentyfikatory.

  • Z
    Włącza opcje należy określić

  • ALL_CONSTRAINTS
    Sprawdza, czy wszystkie włączone i wyłączone ograniczenia dla tabela, jeśli nazwa tabela określono lub jeśli wszystkie tabele są sprawdzane; w przeciwnym razie sprawdza tylko włączone ograniczenie.ALL_CONSTRAINTS jest ignorowany, jeśli określono nazwę ograniczenia.

  • ALL_ERRORMSGS
    Zwraca wszystkie wiersze, które naruszają ograniczenia w tabela, z którą jest sprawdzana.Wartość domyślna to pierwsze 200 wierszy.

  • NO_INFOMSGS
    Pomija wszystkie komunikaty informacyjne.

Remarks

DBCC CHECKCONSTRAINTS konstrukcje i wykonuje kwerendę dla wszystkich ograniczeń klucz obcy i ograniczenia CHECK do tabela.

Na przykład kwerendę klucz obcy jest następującą postać:

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

Dane kwerendy są przechowywane w tabela tymczasowej.Po wszystkich żądanych tabel lub ograniczenia zostały sprawdzone, są zwracane zestaw wyników.

DBCC CHECKCONSTRAINTS sprawdza integralność klucz obcy i ograniczeń typu CHECK, ale nie sprawdza integralność struktur danych na dysku z tabela.Kontrole struktury danych mogą być wykonywane przy użyciu DBCC CHECKDB and DBCC CHECKTABLE.

Zestawy wyników

DBCC CHECKCONSTRAINTS zwracają zestawu zestaw wierszy z następujących kolumn.

Nazwa kolumna

Typ danych

Description

Nazwa tabela

varchar

Nazwa tabela.

Nazwa ograniczenia

varchar

Nazwa ograniczenia, które jest naruszona.

Gdzie

varchar

Przydziały wartość kolumna, identyfikujące wiersz lub wiersze naruszenie ograniczenia.

Wartość w tej kolumnie można używać w instrukcja SELECT kwerendy dla wierszy, które naruszają ograniczenia klauzula WHERE.

Uprawnienia

Członkostwo w grupie wymaga sysadmin Rola serwera lub db_owner stała rola bazy danych.

Przykłady

A.Sprawdzenie tabela

W poniższym przykładzie sprawdza, czy ograniczenie integralność tabela Table1 w AdventureWorks Baza danych.

B.Sprawdzanie specyficzne ograniczenia

W poniższym przykładzie sprawdza spójność CK_ProductCostHistory_EndDate ograniczenie.

C.Sprawdzanie wszystkich włączone i wyłączone ograniczenia dla wszystkich tabel

W poniższym przykładzie sprawdzania integralność wszystkich włączone i wyłączone ograniczeń na wszystkie tabele w bieżącej bazie danych.