Как изменить таблицу при включенном полнотекстовом поиске? - PullRequest
3 голосов
/ 26 марта 2012

У меня есть таблица адресов, в которой поле города имеет тип данных nvarchar, но я хочу изменить тип данных nvarchar на varchar. Для этого я должен написать скрипт

ALTER TABLE Address ALTER COLUMN City varchar(50) null

но при выполнении этого я получаю сообщение об ошибке:

Сообщение 7614, Уровень 16, Состояние 1, Строка 1 Невозможно изменить или удалить столбец "Город" потому что он включен для полнотекстового поиска.

Так как я могу устранить эту ошибку? Я ничего не знаю о полнотекстовом поиске.

Ответы [ 2 ]

2 голосов
/ 09 августа 2013

Было бы разумнее сначала проверить содержимое полнотекстового индекса перед его отбрасыванием.

Также вам может быть лучше использовать следующий код:

ALTER FULLTEXT INDEX ON tableName  DROP (ColumnName)

Это будетудалить полнотекстовый индекс только для этого столбца.

2 голосов
/ 26 марта 2012

Возможно, у вас есть полнотекстовый индекс в таблице, и это не позволяет вам изменять столбец с этим.

Так что вы можете попробовать:

DROP FULLTEXT INDEX ON Address

И затем попытаться:

ALTER TABLE Address ALTER COLUMN City varchar(50) null

А затем вы должны увидеть, что содержит индекс, и воссоздать его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...