Dépannage d'un espace disque de données insuffisant

Durant la récupération, le moteur de base de données SQL Server peut nécessiter de l'espace disque supplémentaire pour les fichiers de données. Lorsqu'une opération ne dispose pas d'un espace disque suffisant, le moteur de base de données renvoie une erreur 1101 ou 1105 (selon qu'il est dans l'incapacité d'allouer de l'espace pour une étendue ou pour un objet, respectivement). Si le disque se remplit pendant que la base de données est en ligne, la base de données demeure en ligne mais aucune donnée ne peut être insérée. Si le disque se remplit pendant une récupération, le moteur de base de données marque la base de données comme « ressource en attente ». Dans les deux cas, une intervention de l'utilisateur est nécessaire pour libérer de l'espace disque.

Résolution du problème d'espace

L'une des actions suivantes peut permettre de libérer de l'espace pour le groupe de fichiers :

  • Libération d'espace disque sur le disque plein.

  • Déplacement de fichiers de données vers un autre disque.

  • Ajout de fichiers sur un autre disque.

  • Activation de la croissance automatique.

Notes

Si l'erreur s'est produite durant une récupération de base de données, vous devez récupérer la base de données après avoir résolu le problème.

Libération d'espace disque sur le disque plein

  • Sur le disque contenant un fichier dans le groupe de fichiers mentionné dans le message d'erreur, libérez de l'espace disque en effaçant tout index ou table inutile. La libération d'espace disque permet aux fichiers du groupe de fichiers de croître.

Pour déplacer des fichiers de données vers un autre disque

Pour ajouter des fichiers sur un autre disque (Transact-SQL)

  • Ajoutez des fichiers au groupe de fichiers sur un autre disque à l'aide de l'instruction ALTER DATABASE <nom_base_données> ADD FILE TO FILEGROUP <nom_groupe_fichiers>.

Pour ajouter des fichiers sur un autre disque (SQL Server Management Studio)

Pour augmenter la taille de fichier

Si la croissance automatique est désactivée, que la base de données est en ligne et que l'espace disponible sur le disque est suffisant, effectuez l'une des actions suivantes :

  • Augmentez manuellement la taille de fichier de façon à produire un incrément de croissance unique.

  • Activez la croissance automatique à l'aide de l'instruction ALTER DATABASE de façon à définir un incrément de croissance non nul pour l'option FILEGROWTH.

Notes

Dans les deux cas, si la limite de taille actuelle a été atteinte, augmentez la valeur MAXSIZE.

Pour récupérer la base de données

Si la base de données était en cours de récupération lorsque la condition de mémoire insuffisante s'est produite, récupérez la base de données à l'aide de l'instruction ALTER DATABASE <nom_base_données> SET ONLINE.