Je suis confus. AFAIK SQL Server 2005 Express a une limite de 4 Go de données de base de données . Cependant, j'ai les résultats suivants de sp_spaceused
:
- Comment puis-je vérifier si ma base de données atteint la limite de taille?
- L'espace non alloué est-il
space left
jusqu'à ce que j'atteigne la limite? - Combien d'espace me reste-t-il?
index_size
Compte- t-il dans la limite?
Réponses:
Voici un bon script que j'ai arraché sans vergogne d' ici :
C'est bien car cela vous donnera l'espace libre dans chaque fichier DB (vous pouvez avoir plusieurs fichiers et peut-être que quelqu'un l'a configuré pour mettre des objets dans chacun) ainsi que la taille libre.
Par exemple, vous disposez d'un fichier de données de 4 Go qui dispose de 3 Go d'espace libre. Peut-être que vous avez 1 MDF sans beaucoup de données mais un NDF avec beaucoup de données. Cette requête vous indiquera la taille libre dans chaque fichier et à quelle DB ce fichier est alloué. N'oubliez pas d'ajouter tous les «SPACE_USED_MB» pour chaque base de données pour obtenir la taille totale.
Bonne chance!
Edit: Suppression d'une commande non prise en charge et boguée que je pensais pouvoir obtenir en publiant ici pour cette requête. :(
la source
sp_msforeachdb
!?!?sysaltfiles
(cela annule la nécessité d'aller dans chaque base de données).La taille de la base de données est la taille du fichier. Regardez la taille réelle du fichier de données (le journal des transactions ne compte pas). Oui, les index comptent. Si vous manquez d'espace, envisagez une mise à niveau vers SQL 2012 Express car cela augmente la limite de taille à 10 Go.
la source
Lorsque sp_spaceused affiche la taille de la base de données d'environ 25 Go dans votre premier jeu de résultats, qui inclut le fichier / index de données et le journal des transactions. Seules les données et les index réels comptent dans les limites de SQL Server Express, vous disposez donc d'environ 3,3 Go de données (comme dans votre deuxième jeu de résultats) et les 22 Go restants seront le journal des transactions. Si vous exécutez "sp_helpdb", cela montre l'image réelle, car elle indique l'utilisation des données et l'utilisation du journal des transactions sur deux lignes distinctes.
la source