Обновить базу данных с SQL Server 2000 до 2005 — и перестроить полнотекстовые индексы?
-
09-06-2019 - |
Вопрос
я загружаю SQL-сервер 2000 базу данных в мою новую SQL-сервер 2005 пример. Как и ожидалось, полнотекстовых каталогов в комплект поставки не входит. Как я могу их восстановить?
Щелкните правой кнопкой мыши мои полнотекстовые каталоги и нажмите «перестроить индексы"просто висит часами, ничего не делая, так что все не так просто...
Решение
Попробуйте использовать SQL.
Вот пример от Microsoft.
--Change to accent insensitive
USE AdventureWorks;
GO
ALTER FULLTEXT CATALOG ftCatalog
REBUILD WITH ACCENT_SENSITIVITY=OFF;
GO
-- Check Accentsensitivity
SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'accentsensitivity');
GO
--Returned 0, which means the catalog is not accent sensitive.
Другие советы
Спасибо, это помогло, потому что показало, что было не так:Мои пути к файлам были разными.Вот как я это исправил:
1) Загрузите базу данных из резервной копии SQL 2000.
2) Установите режим совместимости с SQL 2005.
USE mydb
GO
ALTER DATABASE mydb SET COMPATIBILITY_LEVEL = 90
GO
3) Получите имена файловых групп
SELECT name
FROM sys.master_files mf
WHERE type = 4
AND EXISTS( SELECT *
FROM sys.databases db
WHERE db.database_id = mf.database_id
AND name = 'mydb')
4) Затем для каждого имени (я сделал это небольшим скриптом)
ALTER DATABASE mydb
MODIFY FILE( NAME = {full text catalog name}, FILENAME="N:\ew\path\to\wherever")
5) Далее собираем все "читабельные" названия каталогов:
SELECT name FROM sys.sysfulltextcatalogs
6) Наконец, теперь вы можете пересобрать каждый из них:
ALTER FULLTEXT CATALOG {full text catalog name} REBUILD