2009-02-11 9 views
2

Lors de la restauration de ma base de données, j'ai un problème avec le fichier physique du catalogue de texte intégral en cours d'utilisation.MSSQL2005: Restaurer la base de données sans restaurer le catalogue de texte intégral

The file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData\MyCatalog' cannot be overwritten. It is being used by database 'demo2'. 

J'utilise cette instruction RESTORE

RESTORE database demo from disk = N'c:\temp\demo.bak' WITH REPLACE 
,MOVE 'demo_Data' TO 'd:\Program Files\Microsoft SQL Server 2005\MSSQL\Data\demo.MDF'  
,MOVE 'demo_Log' TO 'd:\Program Files\Microsoft SQL Server 2005\MSSQL\Data\demo.LDF'; 

Une solution serait de restaurer sans le catalogue complet de texte, mais je peux de savoir comment faire.

+0

Il y a une erreur? Je ne suis pas sûr de comprendre? Cela ressemble à un problème connu. Pouvez-vous poster le libellé exact de l'erreur. – BuddyJoe

+0

Oui, la restauration échoue car elle ne peut pas créer le fichier texte intégral sur un lecteur qui n'existe pas. Vu moi-même, curieux s'il y a une solution de contournement. –

Répondre

0

J'ai dû restaurer les bases de données avec plein -text aussi (en fait, mon script de restauration automatique a également été restauré pour restaurer automatiquement l'index de texte intégral)

Je ne connais aucun moyen de ne PAS les restaurer (la restauration de SQL vous donnera une erreur si vous ne spécifiez pas RESTORE WITH MOVE pour l'index de texte intégral, sauf s'il existe un chemin correspondant à l'origine chemin al dans le fichier .bak)

Je suggère

  1. restaurer la base de données entière, y compris index de texte intégral
  2. supprimer tous les index de texte intégral dans la base de données énumérer tous les catalogues de texte intégral Choisissez le nom dans DB.sys.fulltext_catalogs (SQL2005/2008) puis générer la commande drop (vous devrez peut-être supprimer l'index sur les tables avant de laisser tomber les catalogues) dROP FULLTEXT CATALOGUE [nom]
0

Je ne sais pas comment restaurer sans fichier fulltext mais vous pouvez toujours restaurer avec le déplacement. Vous faites déjà pour la base de données et le fichier journal, il suffit de remplir votre déclaration avec:

,MOVE 'sysft_demo_ft' TO 'd:\NewLocationForFullTextFile.ft' 

Vous pouvez obtenir les noms exacts des fichiers avec:

RESTORE FILELISTONLY 
FROM DISK='C:\yourbackupfile.bak' 
Questions connexes