опитайте това:
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
-- РЕДАКТИРАНЕ --
Когато първоначално отговорих на този въпрос, мислех за „Външен ключ“, защото първоначалният въпрос беше за намиране на „FK_ChannelPlayerSkins_Channels“. Оттогава много хора коментираха намирането на други „ограничения“, ето някои други запитвания за това:
--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'
ето алтернативен метод
--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'
Ако имате нужда от още повече информация за ограничения, погледнете вътре в системната съхранена процедура master.sys.sp_helpconstraint
за да видите как да получите определена информация. За да видите изходния код с помощта на SQL Server Management Studio, отидете в "Object Explorer". Оттам разширявате базата данни "Master", след това разширявате "Programmability", след това "Stored Procedures", след това "System Stored Procedures". След това можете да намерите "sys.sp_helpconstraint" и да щракнете с десния бутон върху него и да изберете "modify". Просто внимавайте да не запазите промени в него. Освен това можете просто да използвате тази системна съхранена процедура на всяка таблица, като я използвате като EXEC sp_helpconstraint YourTableNameHere
.