web-dev-qa-db-fra.com

Que se passe-t-il lorsque vous atteignez la limite de 4 Go / 10 Go de SQL Server Express?

Quel genre d'erreur se produit? Que vivent les utilisateurs? Pouvez-vous accéder à la base de données à l'aide d'outils et que faire si vous la récupérez sous la limite de 4 Go/10 Go?

23
hawbsl

Si je comprends bien, vous commencerez à voir des messages d'exception apparaître dans votre journal des événements, tels que:

Impossible d'allouer de l'espace pour l'objet 'dbo. [Table]' dans la base de données '[base de données]' 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.

Si vous pouvez ensuite réduire la taille de la base de données, vous pouvez alors continuer à ajouter etc comme précédemment. Les outils doivent continuer à fonctionner quelle que soit la taille de la base de données.

J'espère que cela t'aides!

13
Jason

Il est trop tard mais je l'ai testé. La taille maximale de SQL express 2008 R2 est de 10240 Mo pour chaque base de données. Après avoir atteint ce que j'ai obtenu cette erreur lors de l'insertion:

Impossible d'allouer de l'espace pour l'objet 'TableName'. 'PK_Nme' dans la base de données 'DBName' 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.

Après cela, je redémarre le service SQL, il s'est arrêté et a commencé sans problème. Je pouvais toujours exécuter Select, update delete command. (J'ai testé la commande de mise à jour et c'était un succès, mais je pense que si vous mettez à jour quelque chose de plus grand, cela peut générer une erreur!)

8
Aidin

Vous pourriez voir une erreur comme celle-ci:

CREATE DATABASE ou ALTER DATABASE a échoué car la taille de base de données cumulée résultante dépasserait votre limite de licence de 4096 Mo par base de données.

Ou ca:

Impossible d'allouer de l'espace pour l'objet 'dbo.buyspace'. 'PK__buyspace__4B5BD7F83A81B327' dans la base de données 'WAYTOOBIG' 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.

C'est à partir de notre journal des erreurs.

4
8kb

Les utilisateurs constatent que l'application ne fonctionne pas, commençant généralement par des erreurs étranges qui se sont propagées trop haut.

Toute application construite sur un Express devrait faire partie de sa planification initiale - comment pouvons-nous réduire la taille. Le plan - nous nous en préoccuperons chaque fois que tout ira bien, jusqu'à ce que quelqu'un ait à débourser les frais de licence. Et c'est généralement après des tonnes de frustration, de temps d'arrêt, de débogage, quelqu'un pensait que le problème était un lecteur complet, quelqu'un d'autre pensait que c'était cette nouvelle version de code, etc., de la frustration, etc. et l'utilisateur a passé du temps à chercher un autre fournisseur qui peut planifier à l'avance. Je suis sûr que c'est exactement ce que vous faites. Bravo à vous de penser d'abord à votre utilisateur !!!!!!!!!

3
Jeff Maass

Les actions qui augmentent la taille échoueront, par exemple Insérer, Mettre à jour. Vous pourrez toujours accéder à la base de données et exécuter des opérations de maintenance pour réduire la taille.

Je voudrais configurer des travaux de maintenance pour vous alerter avant que la base de données n'atteigne cette taille afin que vous puissiez éviter la perte de données.

2
Gavin

Vous ne pourrez probablement plus insérer de données, mais vous pourrez les sélectionner.

2

Si je me souviens bien, quand cela nous est arrivé, la base de données vient de s'arrêter. Nous avons dû faire une sauvegarde pour libérer suffisamment d'espace pour entrer et résoudre les choses.

Vous aimerez peut-être savoir que SQL Server 2008 Express R2 a maintenant une limite de 10 Go, donc cela pourrait valoir la peine d'être mis à niveau.

1
JonPayne