Ответ 1
Нашел решение самостоятельно:
-- 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
Я рефакторинг старой базы данных и удаление столбцов больше не используется. У БД была полная индексация текста, поэтому некоторые столбцы помечены для полного текста.
Как удалить их?
Примечания:
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.
Нашел решение самостоятельно:
-- 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
Я знаю, что это старый пост, я застрял, где мне пришлось изменить столбец в таблице, а не 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'
Это сработало отлично. Спасибо.