текст ошибки покажите плз.
Там по всей видимости указана таблица FK. которой не имеет каскадного удаления.
MS SQL не позволит вам разрушить целостность данных, и правильно сделает. То что оракл дает диактивировать FK может и хорошо, но я на 101% уверен что он не даст вам активировать FK сново при удалении PK. Просто потому что вы попросите его следить за целостностью данных при том что сама БД будет содержать потерянные ссылки(будут записи в FK-таблице ссылающиеся на несуществующие записи в PK-таблице)
Как альтернатива диактивации FK-констрейнта можно предложить удаление констрейнта через ALTER TABLE DROP CONSTRAINT <FK_1>, ну и соотвественно альтернатива активации - ALTER TABLE ADD CONSTRAINT <FK_1>
Из всего этого следует что вам необходимо либо полностью снять ответственность с БД за целостность данных(удалением констрейнтов), либо в этих констрейнтах указать каскадное удаление, либо в SP удаления записи из PK-таблицы, в которой сначала удалять подчиненные записи из FK таблиц а потом уже удалять запись из PK-таблицы.В этом случае скорее всего будет чисто SP-утилита программиста, а сама система будет требовать от пользователя самостоятельно удалять подчиненные записи через GUI.
В большинстве случаев лучшее решение - каскадного удаление. Но иногда это чревато удалением кучи полезной инфы. Тогда связь просто обеспечивает целостность данных запретом(как в вашем случае), и в этом случае необходимо сознательно удалять подчиненные записи.
Если ничего не понятно, то коротко - пройдитесь по всем FK и поставте каскадное удаление
Если таблица связана сама с собой(ухо) - то тут ничего не поделаешь и стоит либо написать SP рекурсивно удаляющие записи либо убить этот контрейнт и добавить его сново на пустую табдицу.