DBCC CHECKCONSTRAINTS (Transact-SQL)
Actualizado: 5 de diciembre de 2005
Comprueba la integridad de una restricción especificada o de todas las restricciones de una tabla determinada en la base de datos actual.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DBCC CHECKCONSTRAINTS
[
(
table_name | table_id | constraint_name | constraint_id
)
]
[ WITH
[ { ALL_CONSTRAINTS | ALL_ERRORMSGS } ]
[ , ] [ NO_INFOMSGS ]
]
Argumentos
table_name | table_id | constraint_name | constraint_id
Es la tabla o la restricción que se va a comprobar. Si no se especifica table_name ni table_id, se comprueban todas las restricciones habilitadas en la tabla. Si se especifica constraint_name o constraint_id, sólo se comprueba esa restricción. Si no se especifica un identificador de tabla ni un identificador de restricción, se comprueban todas las restricciones habilitadas en todas las tablas de la base de datos actual.Un nombre de restricción identifica exclusivamente a la tabla a la que pertenece. Para obtener más información, vea Identificadores.
- WITH
Habilita opciones que se van a especificar
- ALL_CONSTRAINTS
Comprueba todas las restricciones habilitadas y deshabilitadas de la tabla, si se especifica el nombre de tabla o si se comprueban todas las tablas; de lo contrario, comprueba sólo la restricción habilitada. ALL_CONSTRAINTS no tiene ningún efecto cuando se especifica un nombre de restricción.
- ALL_ERRORMSGS
Devuelve todas las filas que infringen las restricciones de la tabla comprobada. El valor predeterminado es las 200 primeras filas.
- NO_INFOMSGS
Suprime todos los mensajes de información.
Conjuntos de resultados
DBCC CHECKCONSTRAINTS devuelve un conjunto de filas con las siguientes columnas.
Nombre de columna | Tipo de datos | Descripción |
---|---|---|
Table Name |
varchar |
Nombre de la tabla. |
Constraint Name |
varchar |
Nombre de la restricción infringida. |
Where |
varchar |
Asignaciones del valor de columna que identifican la fila o las filas que infringen la restricción. El valor de esta columna se puede utilizar en una cláusula WHERE de una instrucción SELECT para consultar qué filas infringen la restricción. |
Notas
DBCC CHECKCONSTRAINTS construye y ejecuta una consulta para todas las restricciones FOREIGN KEY y CHECK en una tabla.
Por ejemplo, una consulta de clave externa tiene el siguiente formato:
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
La consulta de datos se almacena en una tabla temporal. Tras la comprobación de todas las tablas o restricciones solicitadas, se devuelve el conjunto de resultados.
DBCC CHECKCONSTRAINTS comprueba la integridad de las restricciones FOREIGN KEY y CHECK, pero no la de las estructuras de datos del disco en una tabla. Estas comprobaciones de las estructuras de datos pueden realizarse con DBCC CHECKDB y DBCC CHECKTABLE.
Permisos
Debe pertenecer a la función fija de servidor sysadmin o a la función fija de base de datos db_owner.
Ejemplos
A. Comprobar una tabla
El ejemplo siguiente comprueba la integridad de la restricción de la tabla Table1
de la base de datos AdventureWorks
.
USE AdventureWorks;
GO
CREATE TABLE Table1 (Col1 int, Col2 char (30));
GO
INSERT INTO Table1 VALUES (100, 'Hello');
GO
ALTER TABLE Table1 WITH NOCHECK ADD CONSTRAINT chkTab1 CHECK (Col1 > 100);
GO
DBCC CHECKCONSTRAINTS(Table1);
GO
B. Comprobar una restricción específica
El ejemplo siguiente comprueba la integridad de la restricción CK_ProductCostHistory_EndDate
en el esquema Production
.
USE AdventureWorks;
GO
DBCC CHECKCONSTRAINTS ("Production.CK_ProductCostHistory_EndDate");
GO
C. Comprobar todas las restricciones habilitadas y deshabilitadas en todas las tablas
El ejemplo siguiente comprueba la integridad de todas las restricciones habilitadas y deshabilitadas en todas las tablas de la base de datos actual.
DBCC CHECKCONSTRAINTS WITH ALL_CONSTRAINTS;
GO
Vea también
Referencia
DBCC CHECKDB (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL)
DBCC (Transact-SQL)
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
5 de diciembre de 2005 |
|