2008-09-06 4 views
0

Je chargement d'un SQL Server 2000 base de données dans mon nouveau SQL Server 2005exemple. Comme prévu, les catalogues de texte intégral ne sont pas fournis avec.Comment puis-je les reconstruire?Mettre à niveau la base de données à partir de SQL Server 2000 à 2005 - et reconstruire les index de texte intégral?

Un clic droit sur mes catalogues en texte intégral et en appuyant sur « Reconstruire les index » gèlera juste pendant des heures et des heures sans rien faire, il ne semble pas être aussi simple que cela ...

Répondre

1

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. 
0

Merci, cela m'a aidé car il montrait ce qui n'allait pas: Mes chemins de fichier étaient différents. Voici comment je l'ai fixé:

1) base de données de charge de la sauvegarde SQL 2000

2) Définir le mode de compatibilité avec SQL 2005

USE mydb 
GO 

ALTER DATABASE mydb SET COMPATIBILITY_LEVEL = 90 
GO 

3) Obtenez les noms de 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 (je l'ai fait dans un petit script)

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

5) Ramassez ensuite tous les noms "lisibles" des catalogues:

SELECT name FROM sys.sysfulltextcatalogs 

6) Enfin, vous pouvez maintenant reconstruire chacun:

ALTER FULLTEXT CATALOG {full text catalog name} REBUILD 
Questions connexes