Обновить базу данных с SQL Server 2000 до 2005 — и перестроить полнотекстовые индексы?

StackOverflow https://stackoverflow.com/questions/47862

Вопрос

я загружаю 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top