Сообщение об ошибке, которое я получаю при попытке удалить столбец:
Объект 'defEmptyString' зависит от столбца 'fkKeywordRolleKontakt'.
Msg 5074, уровень 16, состояние 1, строка 43
ALTER TABLE DROP COLUMN fkKeywordRolleKontakt не удалось, так как один или несколько объектов обращаются к этому столбцу.
Я уже пытался найти ограничения по умолчанию, как описано здесь: столбец SQL Server 2005 с ограничениями
К сожалению, без каких-либо успехов:( Возвращенная строка:
fkKeywordRolleKontakt 2 814625945 0 defEmptyString
И я не могу удалить ни один из fkKeywordRolleKontakt
и defEmptyString
.
Каков правильный способ избавиться от этой зависимости?
EDIT: Возможно, это тоже важно. Столбец fkKeywordRolleKontakt имеет тип udKeyword (nvarchar (50)) со значением по умолчанию dbo.defEmptyString
.
Изменить 2: Решено
Я мог бы решить проблему сейчас. Извините, я не скопировал полное сообщение об ошибке, которое было:
Msg 5074, Level 16, State 1, Line 1
The object 'defEmptyString' is dependent on column 'fkKeywordRolleKontakt'.
Msg 5074, Level 16, State 1, Line 1
The object 'FK_tlkpRolleKontakt_tlkpKeyword' is dependent on column 'fkKeywordRolleKontakt'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE DROP COLUMN fkKeywordRolleKontakt failed because one or more objects access this column.
Я мог бы сгенерировать script, чтобы удалить столбец, щелкнув правой кнопкой мыши на записи столбца (dbo.tlkpRolleKontakt > Columns > fkKeywordRolleKontakt) (в диспетчере серверов MSSQL), выбрав "Изменить и удалить столбец". Затем Table Designer > Generate Change script сгенерировал необходимые команды:
ALTER TABLE dbo.tlkpRolleKontakt
DROP CONSTRAINT FK_tlkpRolleKontakt_tlkpKeyword
EXECUTE sp_unbindefault N'dbo.tlkpRolleKontakt.fkKeywordRolleKontakt'
ALTER TABLE dbo.tlkpRolleKontakt
DROP COLUMN fkKeywordRolleKontakt
Что это:)