Domanda

Sto caricando un SQLServer2000 database nel mio nuovo SQLServer2005 esempio. Come previsto, i cataloghi full-text non vengono forniti con esso. Come posso ricostruirli?

Facendo clic con il pulsante destro del mouse sui miei cataloghi di testo completo e premendo "ricostruire gli indici" resta sospeso per ore e ore senza fare nulla, quindi non sembra essere così semplice...

È stato utile?

Soluzione

Provalo usando SQL.

Ecco un esempio da 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.

Altri suggerimenti

Grazie, questo mi ha aiutato perché mostrava cosa c'era che non andava:I percorsi dei miei file erano diversi.Ecco come l'ho risolto:

1) Caricare il database dal backup SQL 2000

2) Imposta la modalità compatibilità su SQL 2005

USE mydb
GO

ALTER DATABASE mydb SET COMPATIBILITY_LEVEL = 90
GO

3) Ottieni i nomi dei filegroup

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) Quindi per ogni nome (l'ho fatto in un piccolo script)

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

5) Raccogliere poi tutti i nomi “leggibili” dei cataloghi:

SELECT name FROM sys.sysfulltextcatalogs

6) Infine, ora puoi ricostruirli ciascuno:

ALTER FULLTEXT CATALOG {full text catalog name} REBUILD
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top