Partager via


Vue d'ensemble des fichiers et des groupes de fichiers

Mise à jour : novembre 2007

En définissant et utilisant des groupes de fichiers supplémentaires, vous pouvez améliorer les performances des bases de données et mieux gérer la façon dont vos objets de base de données sont sauvegardés et restaurés. Par exemple, vous pouvez définir des groupes de fichiers sur des disques physiques différents afin de réduire le temps d'accès. Si vous associez tous les objets de base de données d'un schéma à un groupe de fichiers particulier, vous pouvez ensuite sauvegarder et restaurer ces objets en même temps. Pour plus d'informations sur les groupes de fichiers, consultez Fichiers de base de données et groupes de fichiers physiques.

Comportement

Avant de définir des fichiers et des groupes de fichiers dans votre projet de base de données, vous devez prendre en considération les comportements suivants de manière à pouvoir faire la distinction entre comportement attendu et problèmes inattendus.

Mise à niveau vers Service Release 1

Si vous avez défini des groupes de fichiers dans Visual Studio Team System Database Edition avant d'installer Service Release 1 (SR1), c'est en tant qu'objets de schéma. Vous avez également défini les fichiers associés dans le fichier storage.sql qui fait partie du script de post-déploiement. Après avoir installé SR1, vous définissez les groupes de fichiers et les fichiers comme des propriétés du projet de base de données. Si vous utilisez SR1 pour ouvrir un projet de base de données qui contient des fichiers ou groupes de fichiers qui ont été créés avant SR1, leurs définitions sont converties d'objets de schéma en propriétés de projet. De plus, les sections correspondantes dans le fichier storage.sql sont converties en commentaires. Toutefois, la conversion n'a aucun effet sur les autres instructions du fichier storage.sql ni sur les définitions de groupe de fichiers et fichier qui se trouvent dans d'autres scripts.

Importation de schémas

Lorsque vous importez un schéma à partir d'une base de données existante, vous importez également les définitions de groupe de fichiers et de fichier de la base de données. Si la base de données à partir de laquelle vous avez importé le schéma comportait des groupes de fichiers supplémentaires définis, un avertissement tel que le suivant apparaît :

Avertissement : Les instructions ADD FILEGROUP ont été générées, ce qui comprend la création d'un fichier pour chaque groupe de fichiers. Vérifiez la cohérence du nom de fichier et du chemin d'accès des fichiers avec les autres fichiers sur le serveur.

Comparaison de schémas

En comparant des schémas, vous pouvez déterminer si des objets du même nom ont été créés dans des groupes de fichiers qui ont des noms différents. Vous pouvez également déterminer si un groupe de fichiers a été ajouté ou supprimé dans la source mais pas dans la cible. Toutefois, vous ne pouvez pas déterminer si des groupes de fichiers contiennent les mêmes fichiers parce qu'ils apparaîtront toujours comme identiques. Pour plus d'informations sur la façon de comparer des schémas, consultez Comment : comparer les schémas de deux bases de données.

Génération et déploiement de projets de base de données

Les fichiers et groupes de fichiers eux-mêmes ne peuvent pas être spécifiques à des configurations de génération particulières. Toutefois, vous pouvez définir des fichiers sous forme de variables MSBuild qui peuvent être spécifiques à une configuration. Cette approche vous permet, par exemple, d'utiliser des chemins d'accès et des noms de fichier dans votre environnement de développement isolé qui diffèrent de ceux de votre serveur intermédiaire.

Suppression de groupes de fichiers, de fichiers et de fichiers journaux

Si vous supprimez un groupe de fichiers d'un projet de base de données, vous pouvez déployer cette modification vers une nouvelle base de données, mais cette modification est ignorée si vous effectuez le déploiement vers une base de données existante. Lorsque vous supprimez un groupe de fichiers d'un projet de base de données, vous supprimez également tous les fichiers qui lui étaient associés. Tous les objets du projet de base de données qui se trouvaient dans le groupe de fichiers que vous avez supprimé apparaissent en état d'erreur. Pour résoudre les erreurs, vous devez recréer le groupe de fichiers ou modifier les définitions de ces objets pour les associer à un autre groupe de fichiers. Dans ces circonstances, vous ne pouvez pas déployer votre projet de base de données tant que vous n'avez pas résolu les erreurs.

Vous ne pouvez pas supprimer le groupe de fichiers principal. Il faut toujours qu'un groupe de fichiers par défaut soit spécifié. Si vous supprimez le seul fichier d'un groupe de fichiers, un avertissement apparaît dans la fenêtre Liste d'erreurs pour indiquer que la définition de groupe de fichiers est incomplète. De plus, vous ne pouvez pas supprimer le seul fichier journal d'un projet de base de données. Un projet de base de données doit toujours comporter au moins un fichier journal défini.

Limitations

Vous pouvez rencontrer les limitations suivantes lorsque vous déployez des modifications vers des groupes de fichiers, renommez des groupes de fichiers et définissez des objets de base de données dans des groupes de fichiers en lecture seule.

Déploiement de modifications

Si vous ajoutez un groupe de fichiers dans un projet de base de données, vous pouvez déployer cette modification vers une base de données nouvelle ou existante. Si vous supprimez un groupe de fichiers ou modifiez ses fichiers ou propriétés, vous pouvez déployer ces modifications vers une nouvelle base de données. Toutefois, les suppressions et modifications de groupes de fichiers sont ignorées si vous déployez le projet vers une base de données existante. Si le nom d'un groupe de fichiers du projet de base de données correspond au nom d'un groupe de fichiers sur la cible, les groupes de fichiers sont supposés être les mêmes.

Si vous renommez un groupe de fichiers, puis que vous le déployez vers une base de données existante, un groupe de fichiers portant le nouveau nom est créé et le groupe de fichiers existant ne change pas.

Changement de nom des groupes de fichiers dans les définitions d'objet

Vous ne pouvez pas utiliser la refactorisation pour mettre à jour des noms de groupes de fichiers dans les définitions d'objets de base de données. Vous devez mettre à jour ces noms manuellement ou en utilisant la fonctionnalité de recherche. Pour plus d'informations, consultez Rechercher et remplacer, fenêtre.

Définition d'objets dans des groupes de fichiers en lecture seule

Même si vous activez la case à cocher Lecture seule pour un groupe de fichiers, vous pouvez encore définir des objets sur ce groupe dans le projet de base de données. Si vous essayez de déployer ces modifications vers une base de données existante, l'opération échouera avec une erreur. Lorsque vous déployez ces modifications vers une nouvelle base de données, les objets sont créés comme si la case à cocher Lecture seule était désactivée. Une fois les objets créés, le groupe de fichiers est défini en lecture seule dans la base de données.

Voir aussi

Tâches

Comment : spécifier des scripts de prédéploiement ou de post-déploiement

Comment : ajouter des fichiers et des groupes de fichiers

Concepts

Vue d'ensemble des paramètres de projet de base de données

Vue d'ensemble de la terminologie de Database Edition