Вопрос по tsql, sql-server-2008, full-text-search – Ошибка: невозможно изменить или удалить столбец «x», так как он включен для полнотекстового поиска

14

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

How can I remove them?

Заметки:

DB is MS SQL Server Express 2008 Full text search service is no longer installed

Edit:
я пытался

<code>ALTER FULLTEXT INDEX ON tableName  DROP (ColumnName)
</code>

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

<code>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.
</code>

Ваш Ответ

2   ответа
30

-- 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
Также обратите внимание, что вы действительно должны включить (и) в строку 2 или получить синтаксическую ошибку
И повторно добавить индекс, если вы просто изменяете столбец: ALTER FULLTEXT INDEX ON TableName add (ColumnName) ALTER FULLTEXT INDEX ON TableName enable
8

что это старый пост, я застрял, где мне пришлось изменить столбец в таблице, а не 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' 

Похожие вопросы