Ошибка: невозможно изменить или удалить столбец «x», так как он включен для полнотекстового поиска - PullRequest
14 голосов
/ 23 июня 2009

Я выполняю рефакторинг старой базы данных и удаляю столбцы, которые больше не используются. БД раньше имела полнотекстовое индексирование, поэтому некоторые столбцы помечены для полного текста.

Как их убрать?

Примечания:

  • БД - MS SQL Server Express 2008
  • Сервис полнотекстового поиска больше не установлен

Edit:
Я пытался

ALTER FULLTEXT INDEX ON tableName  DROP (ColumnName)

Но получает эту ошибку:

Full-text crawl manager has not been initialized. Any crawl started before 
the crawl manager was fully initialized will need to be restarted. Please 
restart SQL Server and retry the command. You should also check the error 
log to fix any failures that might have caused the crawl manager to fail.

Ответы [ 2 ]

31 голосов
/ 23 июня 2009

Сам нашел решение:

-- You should call the DISABLE command 
ALTER FULLTEXT INDEX ON TableName DISABLE
ALTER FULLTEXT INDEX ON TableName DROP (ColumnName)
ALTER TABLE TableName DROP COLUMN ColumnName
8 голосов
/ 01 марта 2012

Я знаю, что это старый пост, я застрял, где мне пришлось изменить столбец в таблице, а не drop.below код работал для меня ...

EXEC sp_fulltext_column       //Drop your column from full text search here
@tabname =  '<table_name>' , 
@colname =  '<column_name>' , 
@action =  'drop' 

 ALTER TABLE ... //Alter your column here

EXEC sp_fulltext_column       //Add your column back to full text search
@tabname =  '<table_name>' , 
@colname =  '<column_name>' , 
@action =  'add' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...