Вы можете использовать INFORMATION_SCHEMA
Просмотры.
INFORMATION_SCHEMA.TABLE_CONSTRAINTS
даст вам имена первичных ключей в этой таблице.
SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = @TableName
Учитывая имена первичных ключей, вы можете получить ссылочные ограничения, которые используют эти ключи, из INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
А затем имена таблиц путем запроса INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
Не SMO как таковой, но, учитывая вышесказанное, вы сможете составить запрос, который перечислит ограничения, которые необходимо отключить.