Partager via


Initialisation des fichiers de base de données

Les fichiers de données et les fichiers journaux sont initialisés pour effacer sur le disque toutes les données des fichiers précédemment supprimés. Les fichiers de données et journaux sont d'abord initialisés avec des zéros lorsque vous effectuez l'une des opérations suivantes :

  • Créer une base de données.

  • Ajouter des fichiers journaux ou de données à une base de données.

  • Augmenter la taille d'un fichier existant (opérations de croissance automatique incluses).

  • Restaurer une base de données ou un groupe de fichiers.

L'initialisation des fichiers augmente le temps d'exécution de ces opérations. En revanche, les premières opérations d'écriture sont plus rapides puisque le système d'exploitation n'a pas besoin de remplir les fichiers de zéros.

Initialisation instantanée de fichiers

Dans SQL Server, les fichiers de données peuvent être initialisés instantanément. Cela permet une exécution rapide des opérations mentionnées plus haut. L'initialisation instantanée des fichiers récupère l'espace disque utilisé sans remplir cet espace de zéros. Le contenu du disque est remplacé à mesure que de nouvelles données sont écrites dans les fichiers. Les fichiers journaux ne peuvent pas être initialisés instantanément.

[!REMARQUE]

L'initialisation instantanée de fichiers n'est disponible que sur MicrosoftWindows XP Professionnel ou Windows Server 2003 ou versions ultérieures.

L'initialisation instantanée des fichiers n'est disponible que si l'autorisation SE_MANAGE_VOLUME_NAME a été attribuée au compte de service (MSSQLSERVER) SQL Server. Les membres du groupe Administrateur Windows disposent de ce droit et peuvent l'attribuer aux autres utilisateurs en les ajoutant à la stratégie de sécurité Effectuer des tâches de maintenance des volumes. Pour plus d'informations sur l'affectation de droits utilisateur, consultez la documentation Windows.

Considérations sur la sécurité

Comme le contenu du disque supprimé n'est remplacé que lorsque de nouvelles données sont écrites dans les fichiers, une entité de sécurité non autorisée peut accéder au contenu supprimé. Même si le fichier de base de données est attaché à l'instance SQL Server, le risque de divulgation de ces informations est limité par la liste DACL (Discretionary Access Control List) du fichier. Cette liste DACL n'autorise l'accès au fichier qu'à l'administrateur local et au compte de service SQL Server. Cependant, quand le fichier est détaché, un utilisateur ou un service ne bénéficiant pas de l'autorisation SE_MANAGE_VOLUME_NAME peut y accéder. Une menace similaire existe quand la base de données est sauvegardée. Un service ou un utilisateur non autorisé peut accéder au contenu supprimé si le fichier de sauvegarde n'est pas protégé par une liste DACL appropriée.

Si le risque de divulgation du contenu supprimé constitue un problème, effectuez l'une et/ou l'autre des actions suivantes :

  • Assurez-vous toujours que les fichiers de sauvegarde et les fichiers de données détachés possèdent des listes DACL restrictives.

  • Désactivez l'initialisation instantanée des fichiers pour l'instance SQL Server en retirant l'autorisation SE_MANAGE_VOLUME_NAME au compte de service SQL Server.

[!REMARQUE]

La désactivation de l'initialisation instantanée des fichiers n'affecte que les fichiers créés ou augmentés en taille après le retrait du droit utilisateur.