Невозможно удалить ограничение в SQL Server 2005, «Не удалось удалить ограничение. См. Предыдущие ошибки» - PullRequest
6 голосов
/ 07 апреля 2010

Я пытаюсь удалить ограничение для таблицы БД, что-то вроде:

ALTER TABLE MyTable drop CONSTRAINT FK_MyTable_AnotherTable

Но исполнение просто запускается и работает. Если я остановлю это, я увижу:

Msg 3727, Level 16, State 0, Line 2
Could not drop constraint. See previous errors.

Веб-поиск выдает различные страницы, но обратите внимание, что ограничение правильно названо, и я пытаюсь удалить его, используя правильное имя

Ответы [ 4 ]

5 голосов
/ 29 мая 2014

У меня была такая же проблема на SQL Server 2008 R2 , я решил свою проблему с помощью строки ниже, надеюсь, это будет работать и для кого-то еще:)

    Alter Table [Table Name]
    DROP Column [Column Name]
2 голосов
/ 07 апреля 2010

Нашел способ отсортировать это, хотя я не понимаю, почему это было необходимо.

Удалось сбросить ограничение, сначала отключив его:

ALTER MyTable NOCHECK CONSTRAINT FK_MyTable_AnotherTable

Удалениезатем завершает штрафа

По-прежнему приветствуются любые комментарии о причине, почему это необходимо

1 голос
/ 07 апреля 2010

Убедитесь, что вы еще не сняли ограничение, например:

SELECT OBJECT_ID('FK_MyTable_AnotherTable')

Если это возвращает null, ваше ограничение больше не существует. Это объяснило бы сообщение об ошибке.

0 голосов
/ 02 декабря 2015

У меня была такая же проблема.

Причина была в том, что я допустил ошибку в своем операторе курсора, который повторял некоторое ограничение, которое я должен был удалить.Таким образом, эта ошибка произошла, когда ограничение было фактически удалено в той же транзакции .Затем я сделал откат и проверил, существует ли он: он сделал (конечно, после отката!).

Проверьте, действительно ли он существует в момент сброса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...