спробуйте це:
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
- EDIT -
Коли я спочатку відповідав на це питання, я думав про "Іноземний ключ", оскільки в оригінальному запитанні було задано питання про пошук "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 перейдіть до «Провідника об’єктів». Звідти ви розширюєте базу даних "Master", потім розширюєте "Programmability", потім "Stored Procedure", потім "System Stored Procedure". Потім ви можете знайти "sys.sp_helpconstraint" і клацніть правою кнопкою миші та виберіть "змінити". Будьте обережні, щоб не зберегти жодних змін до нього. Крім того, ви можете просто використовувати цю системну процедуру, що зберігається на будь-якій таблиці, використовуючи її як EXEC sp_helpconstraint YourTableNameHere
.