Question

I'm trying to drop a constraint on a DB table, something like:

ALTER TABLE MyTable drop CONSTRAINT FK_MyTable_AnotherTable

But the execution just runs and runs. If I stop it I see:

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

Web search throws up various pages but note that the constraint is properly named and I am trying to remove it using the correct name

Was it helpful?

Solution 2

Found a way to sort this, although I don't understand why it was necessary.

Have been able to drop the constraint by disabling it first:

ALTER MyTable NOCHECK CONSTRAINT FK_MyTable_AnotherTable

The drop then completes fine

Would still welcome any comments on the reason why this is necessary

OTHER TIPS

I was having the same issue on SQL Server 2008 R2, I solved my problem with below line hopefully it will work for someone else as well :)

    Alter Table [Table Name]
    DROP Column [Column Name]

Verify that you've not already dropped the constraint, like:

SELECT OBJECT_ID('FK_MyTable_AnotherTable')

If this returns null, your constraint no longer exists. That would explain the error message.

I had same problem.

The reason was that I made a mistake in my cursor statement, which was iterating some constraint I was to drop. So this error occurred when the constraint was actually removed in the same transaction. Then I did a rollback and checked if it existed: it did (of course, after rollback!).

Check if it really exists at the moment of dropping.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top