Ajout et suppression de fichiers de données et de journaux des transactions

Il est possible d'ajouter des fichiers de données et des journaux de transactions pour étendre une base de données ou, au contraire, de les supprimer pour réduire le nombre de fichiers d'une base de données.

Important

Les fichiers de données et de journaux des transactions de SQL Server ne doivent pas être placés sur des systèmes de fichiers compressés. Cependant, les groupes de fichiers secondaires en lecture seule et les bases de données en lecture seule peuvent être placés sur un système de fichiers appliquant la compression de fichiers NTFS. Pour plus d'informations, consultez La compression et les groupes de fichiers en lecture seule.

SQL Server applique une stratégie de remplissage proportionnel sur tous les fichiers de chaque groupe de fichiers et écrit une quantité de données proportionnelle à l'espace libre du fichier, ce qui permet au nouveau fichier d'être utilisé immédiatement. De cette façon, tous les fichiers se remplissent généralement au même rythme. Les journaux des transactions, en revanche, ne peuvent pas faire partie d'un groupe de fichiers ; ils sont distincts les uns des autres. Au fur et à mesure de la croissance du journal des transactions, le premier fichier journal se remplit, puis le deuxième, et ainsi de suite. Le remplissage s'effectue donc en série, et non de façon proportionnelle. Une fois qu'il est ajouté, un fichier journal ne peut donc pas être utilisé par le journal des transactions tant que les autres fichiers ne sont pas pleins.

Ajout de fichiers

Lorsqu'un fichier est ajouté, il est immédiatement mis à la disposition de la base de données. Lorsque des fichiers sont ajoutés à la base de données, vous pouvez spécifier leur taille. Si aucune taille n'est précisée pour le fichier primaire, le moteur de base de données utilise la taille du fichier primaire dans la base de données model. Lorsque vous spécifiez un fichier de données secondaire ou un fichier journal mais pas la taille de ce fichier, le moteur de base de données lui donne une taille de 1 Mo. La taille spécifiée pour le fichier primaire doit être au moins égale à la taille du fichier primaire de la base de données model. Pour plus d'informations, consultez Base de données model.

Vous pouvez définir la taille maximale que le fichier peut atteindre si l'espace qu'il contient est saturé. Vous pouvez également définir l'incrément de croissance du fichier, le cas échéant. Si vous ne spécifiez pas de taille maximale, le fichier peut s'accroître jusqu'à occuper tout l'espace disque disponible. Si aucun incrément de croissance de fichier n'est spécifié, la valeur par défaut est de 1 Mo pour les fichiers de données et de 10 % pour les fichiers journaux. La valeur minimale est 64 Ko.

Vous pouvez spécifier le groupe de fichiers auquel appartient le fichier. Les groupes de fichiers, appelés collections de fichiers, permettent de simplifier l'insertion des données ainsi que les tâches administratives, telles que les opérations de sauvegarde et de restauration. Pour plus d'informations, consultez Utilisation des fichiers et des groupes de fichiers.

Suppression de fichiers

En supprimant un fichier de données ou un journal des transactions, vous effacez le fichier de la base de données. Il est impossible de supprimer un fichier de la base de données aussi longtemps qu'il contient des données ou des informations relatives au journal des transactions qui le concernent ; le fichier doit être entièrement vide pour pouvoir être supprimé. Pour vider un fichier de données en déplaçant ses données vers d'autres fichiers de données appartenant au même groupe de fichiers, utilisez l'instruction DBCC SHRINKFILE et spécifiez la clause EMPTYFILE. Le moteur de base de données n'autorisant plus le stockage de données dans le fichier après l'opération de réduction, le fichier vide peut être supprimé en utilisant l'instruction ALTER DATABASE ou SQL Server Management Studio.

Vous ne pouvez pas vider un journal des transactions en déplaçant simplement les données du journal des transactions vers un autre fichier journal. Pour supprimer des transactions inactives d'un fichier du journal des transactions, le journal des transactions doit être vidé ou sauvegardé. Une fois que le journal des transactions ne contient plus de transactions, actives ou inactives, le fichier journal peut être supprimé de la base de données. Pour plus d'informations, consultez Gestion du journal des transactions.

Important

Après avoir ajouté ou supprimé des fichiers, procédez immédiatement à une sauvegarde de la base de données. La sauvegarde du journal des transactions ne doit avoir lieu qu'après la sauvegarde intégrale de la base de données.

Pour ajouter ou supprimer des fichiers de données ou des fichiers journaux dans une base de données