Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/06/2007, 10h05   #1
Invité de passage
 
Inscription : février 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 23
Points : 1
Points : 1
Par défaut Afficher l'espace disk disponible

Bonjour,

Je souhaite obtenir pour chaque base du dataserver : l'espace alloué, restant et le % restant. Autre que par l'utilisation des commandes sp_spaceused et sp_helpdb [nom de la base].

Mon besoin est de présenter sous forme condencée le résulat suivant (dans un mail par exemple)
Base de données | Espace DATA alloué | Espace DATA restant | % d'occupation

Environnement tech. : ASE 12.5, UNIX
jfmerveille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 10h30   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Voici un exemple qui affiche l'espace total et l'espace alloué par segment, et n'affiche que les segment où il reste moins de 20% d'espace disponible.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
SET arithabort off
 
declare @pgsiz int
 
SELECT @pgsiz = low FROM master..spt_values WHERE number = 1 AND type = 'E'
 
SELECT "name" = db_name(dbid)
     , u.segmap
     , "total_space" = convert(float, sum(u.size)) * @pgsiz/(1024.0 * 1024.0)
     , "free_space" = 
            convert(float, sum(curunreservedpgs(u.dbid, u.lstart, u.unreservedpgs))) * @pgsiz / (1024.0 * 1024.0)
 INTO #tmp
  FROM master..sysusages u
 GROUP BY db_name(dbid), u.segmap
 
SELECT convert(char(20), name + ',' + convert(varchar(3), segmap))
     , str(free_space, 10, 2)
     , str((total_space - free_space) / total_space * 100, 5, 1) 
  FROM #tmp 
 WHERE free_space / total_space < 0.20
Le nom du segment n'est pas inclus - puisque pour ce faire il faudrait faire un curseur et aller chercher les noms des segments dans chaque base.

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h10.


 
 
 
 
Partenaires

Hébergement Web