Сообщение об ошибке, которое я получаю при попытке удалить столбец:
Объект 'defEmptyString' зависит от столбца 'fkKeywordRolleKontakt'.
Сообщение 5074, Уровень 16, Состояние 1, Строка 43
ALTER TABLE DROP COLUMN fkKeywordRolleKontakt не выполнен, так как один или несколько объектов имеют доступ к этому столбцу.
Я уже пытался найти ограничения по умолчанию, как описано здесь:
SQL Server 2005 отбрасываемый столбец с ограничениями
К сожалению, безуспешно :( Возвращаемая строка:
fkKeywordRolleKontakt 2 814625945 0 defEmptyString
И я не могу удалить ни fkKeywordRolleKontakt
, ни defEmptyString
.
Как правильно избавиться от этой зависимости?
РЕДАКТИРОВАТЬ: Возможно, это тоже важно. Столбец fkKeywordRolleKontakt имеет тип udKeyword (nvarchar (50)) по умолчанию dbo.defEmptyString
.
Редактировать 2: Решено
Я мог бы решить проблему сейчас. Извините, я не скопировал полное сообщение об ошибке, которое было:
Msg 5074, Level 16, State 1, Line 1<br />
The object 'defEmptyString' is dependent on column 'fkKeywordRolleKontakt'.<br />
Msg 5074, Level 16, State 1, Line 1<br />
The object 'FK_tlkpRolleKontakt_tlkpKeyword' is dependent on column 'fkKeywordRolleKontakt'.<br />
Msg 4922, Level 16, State 9, Line 1<br />
ALTER TABLE DROP COLUMN fkKeywordRolleKontakt failed because one or more objects access this column.
Я мог бы создать сценарий для удаления столбца, щелкнув правой кнопкой мыши запись столбца (dbo.tlkpRolleKontakt> Столбцы> fkKeywordRolleKontakt) (в MSSQL Server Manager), выбрав Изменить и удалив столбец. Затем 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
Вот и все:)