DBCC CHECKCONSTRAINTS (Transact-SQL)
Sprawdza, czy integralność ograniczenie określonych lub wszystkich ograniczeń określonej tabela w bieżącej bazie danych.
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.