Mettre à niveau la base de données de SQL Server 2000 vers 2005 et reconstruire les index de texte intégral ?
-
09-06-2019 - |
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...
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