J'ai une grande table (~ 50 millions de lignes) J'essaie d'insérer en bloc dans SQL Server et j'obtiens l'erreur:
Impossible d'allouer de l'espace pour l'objet 'myDB' dans la base de données 'I 3 Stroke' car le groupe de fichiers 'PRIMARY' est plein. Créez de l'espace disque en supprimant les fichiers inutiles, en supprimant des objets dans le groupe de fichiers, en ajoutant des fichiers supplémentaires au groupe de fichiers, ou en activant la croissance automatique pour les fichiers existants dans le groupe de fichiers.
Il existe une autre table dans la base de données avec environ 25 millions de lignes. Cette base de données ne sera utilisée que sur une seule machine, et elle sera conçue pour exploiter des données qui existent déjà et elle ne pourra en aucun cas dépasser sa taille actuelle.
Dans une situation comme celle-ci, quelle est la meilleure façon de résoudre ce problème afin que SQL Server ne se plaigne pas? La solution importera-t-elle que cette base de données ne soit pas exposée à plusieurs utilisateurs?
Suivez ces étapes:
Vous voulez donner à votre base de données autant d'allocation de stockage que vous pouvez vous le permettre. S'il manque d'espace, vous recevrez cette erreur sans croissance automatique et si la croissance automatique est activée, vous obtiendrez un impact sur les performances à chaque fois qu'il doit croître automatiquement. Si vous manquez d'espace disque, c'est votre réponse et vous avez besoin d'un disque plus gros.
Express Edition 2014 a une limite de 10 Go par base de données. Si la croissance automatique d'une base de données atteint ce point, SQL Server génère le message d'erreur (obscur?), Sans mentionner la limite de licence. Il peut y avoir beaucoup d'espace disque mais vous voyez toujours ce message.
Solution si la conception permet: d'utiliser plusieurs bases de données sous cette licence.
Les bases de données manquent souvent d'espace lorsqu'elles sont en mode de récupération complète. Si vous n'effectuez pas de transactions et que les sauvegardes manuelles sont suffisantes, vous pouvez changer le mode de récupération en simple.
Vous devrez peut-être également récupérer de l'espace à partir du fichier journal. . . il peut être vidé mais utilise encore de l'espace.
Cependant, vous feriez mieux de poser cette question aux administrateurs de base de données qui peuvent proposer plus de solutions.
D'après mon expérience, ce message se produit lorsque le fichier principal (.mdf) n'a pas d'espace pour enregistrer les métadonnées de la base de données. Ce fichier comprend les tables système et ils y enregistrent uniquement leurs données.
Faites de l'espace dans le fichier et les commandes fonctionnent à nouveau. C'est tout, profitez
Pour résoudre le groupe de fichiers principal est une erreur complète accédez à la propriété Base de données -> Fichiers -> Fichiers de base de données -> Groupe de fichiers "PRIMARY" -> Croissance automatique/Taille maximale et changez le groupe de fichiers Database_Name en mégaoctets à 1, vérifiez la taille maximale du fichier Illimité puis Ok.