prøv dette:
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
-- REDIGER --
Da jeg oprindeligt besvarede dette spørgsmål, tænkte jeg "Foreign Key", fordi det oprindelige spørgsmål stillede om at finde "FK_ChannelPlayerSkins_Channels". Siden da har mange mennesker kommenteret på at finde andre "begrænsninger", her er nogle andre spørgsmål til det:
--Returns one row for each CHECK, UNIQUE, PRIMARY KEY, and/or FOREIGN KEY
SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
--Returns one row for each FOREIGN KEY constrain
SELECT *
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
--Returns one row for each CHECK constraint
SELECT *
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
her er en alternativ metode
--Returns 1 row for each CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY, and/or DEFAULT
SELECT
OBJECT_NAME(OBJECT_ID) AS NameofConstraint
,SCHEMA_NAME(schema_id) AS SchemaName
,OBJECT_NAME(parent_object_id) AS TableName
,type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc LIKE '%CONSTRAINT'
AND OBJECT_NAME(OBJECT_ID)='XYZ'
Hvis du har brug for endnu flere begrænsningsoplysninger, så kig inde i den systemlagrede procedure master.sys.sp_helpconstraint
for at se, hvordan man får visse oplysninger. For at se kildekoden ved hjælp af SQL Server Management Studio, gå ind i "Object Explorer". Derfra udvider du "Master"-databasen, udvider derefter "Programmerbarhed", derefter "Storede Procedures", derefter "System Stored Procedures". Du kan derefter finde "sys.sp_helpconstraint" og højreklikke på det og vælge "modify". Bare vær forsigtig med ikke at gemme ændringer i den. Du kan også bare bruge denne systemlagrede procedure på enhver tabel ved at bruge den som EXEC sp_helpconstraint YourTableNameHere
.