Inside SQL Server, Microsoft Press.
Traduction personnelle. But pédagogique.


Les fichiers de base de données

Un fichier de base de données n'est rien de plus qu'un fichier du système d'exploitation. (En plus des fichiers de base de données, SQL Server a aussi des périphériques de sauvegarde, backup devices, qui sont des unités logiques associées à des fichiers du systèmes d'exploitation, a des périphériques comme les lecteurs de bande, ou même un pipe nommé.) Une base de données contient au moins deux, et si possible plusieurs fichiers de base de données, et ces fichiers sont spécifiés à la création ou à la modification de la base. Chaque base doit avoir au moins deux fichiers, un pour les données (pages d'index et pages d'allocation) et un pour le journal des transactions. SQL Server 7 autorise trois types de fichiers de base de données

Les fichiers de base de données ont plusieurs propriétés. Ils ont un nom de fichier logique, un nom de fichier physique, une taille initiale, un incrément d'évolution. Ces propriétés sont notées dans la table sysfiles (voir Table 5-1), qui contient un enregistrement pour chaque fichier utilisé par la base.

Table 5-1. La table sysfiles.

Nom de Colonne Description
fileid Le numéro d'identification du fichier (unique pour chaque base).
groupid Le numéro d'identification du groupe.
size La taille du fichier (en pages de 8 KB).
maxsize La taille maximum du fichier (en pages de 8 KB). Une valeur de 0 indique que le fichier ne peut pas grossir. Une valeur de -1 indique que le fichier peut grossier jusqu'à la saturation du disque.
growth La taille d'évolution de la base. Une valeur de 0 indique aucun grossissement. La taille peut être exprimée en nombre de pages ou en pourcentage de la taille du fichier, cela dépend de la valeur du status.
status 0x2 = Fichier disque
.0x40 = Unité journal.
0x80 = Le fichier a été écrit depuis la dernière sauvegarde.
0x100000 = Evolution en pourcentage, non en pages.
name Le nom logique du fichier.
filename le nom physique de l'unité, avec son chemin complet.