Mettre à niveau la base de données de SQL Server 2000 vers 2005 et reconstruire les index de texte intégral ?

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

Question

je charge un SQL Serveur 2000 base de données dans mon nouveau SQL Serveur 2005 exemple. Comme prévu, les catalogues en texte intégral ne sont pas fournis avec. Comment puis-je les reconstruire ?

Faites un clic droit sur mes catalogues de texte intégral et appuyez sur "reconstruire les index" reste accroché pendant des heures et des heures sans rien faire, donc ça ne semble pas si simple...

Était-ce utile?

La solution

Essayez-le en utilisant SQL.

Voici un exemple de 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.

Autres conseils

Merci, cela a aidé car cela a montré ce qui n'allait pas :Mes chemins de fichiers étaient différents.Voici comment je l'ai corrigé :

1) Charger la base de données à partir de la sauvegarde SQL 2000

2) Définissez le mode de compatibilité sur SQL 2005

USE mydb
GO

ALTER DATABASE mydb SET COMPATIBILITY_LEVEL = 90
GO

3) Obtenez les noms des groupes de fichiers

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) Puis pour chaque nom (j'ai fait ça dans un petit script)

ALTER DATABASE mydb 
MODIFY FILE( NAME = {full text catalog name}, FILENAME="N:\ew\path\to\wherever")

5) Récupérez ensuite tous les noms "lisibles" des catalogues :

SELECT name FROM sys.sysfulltextcatalogs

6) Enfin, vous pouvez maintenant reconstruire chacun d’entre eux :

ALTER FULLTEXT CATALOG {full text catalog name} REBUILD
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top