Sauvegarde et restauration de catalogues de texte intégral
Avec cette version de Microsoft SQL Server, vous pouvez utiliser les instructions BACKUP et RESTORE pour sauvegarder et restaurer les catalogues de texte intégral de la même façon que vous sauvegardez et restaurez les données de fichiers de base de données.
Pour sauvegarder les catalogues de texte intégral, utilisez l'instruction BACKUP :
BACKUP DATABASE database_name
TO backup_device
Chaque catalogue de texte intégral est traité comme un fichier et est inclus dans le jeu de fichiers de base de données sauvegardé. Durant le processus de sauvegarde, il est impossible de supprimer ou d'ajouter des catalogues de texte intégral.
En règle générale, SQL Server effectue les tâches ci-après au cours de l'opération liée à la commande BACKUP :
- Il interrompt provisoirement le service du moteur de texte intégral Microsoft pour SQL Server (MSFTESQL) et vide sur le disque toutes les modifications en attente du catalogue de texte intégral. En outre, SQL Server arrête toute activité d'écriture sur le catalogue et met en file d'attente toutes les modifications non traitées au démarrage de la sauvegarde dans le journal de notification, de sorte que ces modifications puissent être validées dans les catalogues de texte intégral à la fin de la sauvegarde.
L'état du catalogue est conservé sur le disque. À ce stade, vous pouvez encore interroger le catalogue. - Il sauvegarde toutes les données de table et de catalogue de texte intégral, le journal de suivi des modifications et les métadonnées.
- Il sauvegarde dans le journal des transactions toutes les données qui existent depuis le démarrage du processus de sauvegarde.
- Il reprend l'exécution du service MSFTESQL ainsi que le remplissage des index de texte intégral.
Pour plus d'informations sur la sauvegarde de données de base de données, consultez Création de sauvegardes différentielles et complètes d'une base de données SQL Server. Pour plus d'informations sur l'instruction BACKUP en Transact-SQL, consultez BACKUP (Transact-SQL).
Une fois les catalogues de texte intégral sauvegardés, SQL Server démarre le service MSFTESQL, valide les mises à jour en attente dans le journal de notification, puis reprend les opérations normales.
Outre la sauvegarde complète des données de catalogue de texte intégral et de base de données, vous pouvez sauvegarder les catalogues de texte intégral en procédant comme suit :
Sauvegardes différentielles
Pour sauvegarder les modifications apportées aux catalogues de texte intégral ainsi que les données de base de données depuis la dernière sauvegarde complète, spécifiez WITH DIFFERENTIAL dans la commande BACKUP.Par exemple, l'instruction suivante permet de sauvegarder les modifications apportées aux données de base de données, ainsi qu'aux catalogues de texte intégral, depuis la dernière sauvegarde complète.
BACKUP DATABASE database_name TO backup_device WITH DIFFERENTIAL
Seuls les fichiers modifiés ou ajoutés depuis la dernière sauvegarde complète sont sauvegardés. Si des fichiers ont été supprimés depuis la dernière sauvegarde complète, ils sont supprimés durant le processus de restauration. Si des fichiers ont été supprimés depuis la dernière sauvegarde complète, ils sont supprimés durant le processus de restauration.
Les sauvegardes différentielles ne sont pas prises en charge pour les catalogues de texte intégral dans les systèmes de fichiers FAT32.
Sauvegarde de fichiers de catalogues de texte intégral
Pour sauvegarder uniquement le catalogue de texte intégral (et non les données de base de données), spécifiez la clause FILE dans la commande BACKUP.Par exemple, l'instruction suivante sauvegarde uniquement le catalogue de texte intégral fulltext_cat.
BACKUP DATABASE database_name FILE = 'sysft_fulltext_cat' TO backup_device
Remarque : Le nom de fichier du catalogue de texte intégral correspond au nom du catalogue de texte intégral précédé de « sys ». Pour sauvegarder uniquement le groupe de fichiers qui stocke plusieurs catalogues de texte intégral, spécifiez la clause FILEGROUP dans la commande BACKUP.
Par exemple, l'instruction suivante sauvegarde uniquement le groupe de fichiers fulltext_catFG.
BACKUP DATABASE database_name FILEGROUP = 'fulltext_catFG' TO backup_device
Sauvegarde différentielle de fichiers de catalogues de texte intégral
Pour sauvegarder uniquement les modifications d'un catalogue de texte intégral, spécifiez la clause FILE et WITH DIFFERENTIAL dans la commande BACKUP.Par exemple, l'instruction suivante permet de sauvegarder les modifications apportées au catalogue de texte intégral fulltext_cat depuis la dernière sauvegarde complète.
BACKUP DATABASE database_name FILE = 'sysft_fulltext_cat' TO backup_device WITH DIFFERENTIAL
Pour sauvegarder uniquement les modifications de tous les catalogues de texte intégral stockés dans un groupe de fichiers, spécifiez la clause FILEGROUP et WITH DIFFERENTIAL dans la commande BACKUP.
Par exemple, l'instruction suivante permet de sauvegarder les modifications apportées à tous les catalogues de texte intégral stockés dans le groupe de fichiers fulltext_catFG depuis la dernière sauvegarde complète.
BACKUP DATABASE database_name FILEGROUP = 'fulltext_catFG' TO backup_device WITH DIFFERENTIAL
Pour restaurer les catalogues de texte intégral, utilisez la commande RESTORE.
RESTORE DATABASE database_name
FROM backup_device
Une fois cette commande émise, les données sauvegardées (y compris les données de catalogue de texte intégral) sont restaurées à partir de l'emplacement où elles ont été sauvegardées sur disque.
Pour plus d'informations sur l'instruction RESTORE en Transact-SQL, consultez RESTORE (Transact-SQL).
Outre la restauration complète des données de catalogue de texte intégral et de base de données, vous pouvez restaurer les catalogues de texte intégral en procédant comme suit :
Restaurer vers un autre emplacement
Pour spécifier un autre emplacement que le chemin d'accès racine du catalogue de texte intégral, spécifiez WITH MOVE dans la commande RESTORE.Par exemple, l'instruction suivante restaure le catalogue de texte intégral fulltext_cat dans le répertoire F:\FtCat.
RESTORE DATABASE AdventureWorks FROM backup_device WITH MOVE 'sysft_fulltext_cat' TO 'F:\FtCat'
Lorsque WITH MOVE est spécifié, SQL Server met à jour les métadonnées du catalogue de texte intégral dans les affichages catalogue sys.fulltext_catalogs et sys.databases_files en utilisant le nouvel emplacement du chemin d'accès racine du catalogue. Les métadonnées de catalogue de texte intégral sont mises à jour de façon identique, à la même heure que les autres fichiers de données de table et de base de données.
WITH MOVE peut également être spécifié pour restaurer des sauvegardes différentielles, ainsi que des sauvegardes de fichiers de catalogue de texte intégral ou de groupes de fichiers, vers un autre emplacement.
Remarque : Vous ne pouvez pas restaurer un catalogue de texte intégral dans le répertoire racine.
Restaurer des sauvegardes différentielles de catalogue de texte intégral
Pour restaurer la sauvegarde différentielle des catalogues de texte intégral et des données de base de données, vous devez effectuer deux opérations de restauration : une restauration complète suivie d'une restauration différentielle. La seconde restauration met à jour uniquement les parties de la base de données qui ont changé entre les sauvegardes complète et différentielle.RESTORE DATABASE AdventureWorks FROM backup_device WITH NORECOVERY RESTORE DATABASE AdventureWorks FROM backup_device2 FILE = 'sysft_fulltext_cat'
Dans ce scénario, la base de données reste hors connexion ; par ailleurs, Microsoft s'est arrêté entre les opérations de restauration. Le retour en ligne s'effectue uniquement après la fin de la seconde restauration.
Les sauvegardes différentielles de fichiers et de groupes de fichiers peuvent également être restaurées.
Restaurer des sauvegardes de fichiers de catalogues de texte intégral
Pour restaurer des sauvegardes de fichiers et de groupes de fichiers de catalogues de texte intégral, spécifiez la clause FILE ou FILEGROUP dans la commande RESTORE.RESTORE DATABASE AdventureWorks FILE = 'sysft_fulltext_cat' FROM backup_device --or RESTORE DATABASE AdventureWorks FILEGROUP = 'fulltext_catFG' FROM backup_device
Si vous tentez de restaurer des données de catalogue de texte intégral à l'aide d'une version antérieure de ces données, SQL Server retourne un avertissement.
Remarque : |
---|
Lors de la restauration d'une sauvegarde du journal des transactions, l'index de texte intégral risque de se trouver dans un état incohérent. Pour rendre un état cohérent à l'index de texte intégral, vous devez exécuter une analyse complète. |
Voir aussi
Concepts
Administration de la recherche de texte intégral