Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 30/01/2012, 14h50   #1
Invité de passage
 
Homme Maëldan JASSELIN
Technicien réseau
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Maëldan JASSELIN
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : Technicien réseau
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
Par défaut Abaque volumétrique d'une base de données sous SQL Server

Bonjour à toutes et à tous,

Tout d'abord, étant nouveau sur le forum, j'espère être dans la bonne section. si ce n'est pas le cas, pourriez vous m'indiquez comment résoudre ce problème ?

Voilà mon problème, on me demande pour le boulot de réaliser un abaque volumétrique d'une base de donnée sous SQL Server. Voilà le principe, nous disposons de plusieurs clients qui utilise SQL Server, et ils désirent avoir un graphique sur l'évolution de la taille de leurs base de données or je n'est aucune idée de comment réaliser cela. Je pense que je dois d'abord relever les tailles des bases actuelles sur plusieurs semaines pour pouvoir ensuite faire une prévision de l'évolution.

Je précise que je suis débutant dans le langage SQL.

J'ai pense avoir trouvé une piste avec la procédure stockée :sp_spaceused => http://msdn.microsoft.com/fr-fr/library/ms188776.aspx mais mes compétences limités en langage SQL m'empêche d'avancer dans ce projet.

Pourriez-vous m'aidez à réaliser ce projet ? Avez-vous des pistes sur lesquelles m'orienter ?

En vous remerciant, et en espérant avoir une réponse rapide de votre pars.
maeldefeu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 22h22   #2
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 139
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 139
Points : 2 470
Points : 2 470
Envoyer un message via Yahoo à zinzineti
http://sqlserver.developpez.com/faq/?page=Taille
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 13h43   #3
Invité de passage
 
Homme Maëldan JASSELIN
Technicien réseau
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Maëldan JASSELIN
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : Technicien réseau
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
Bonjour,

Merci pour le coup de main

J'avais déjà regardé sur ce lien là, mais je n'arrivais pas exploité cette procédure.

Par contre j'ai réussi à avancer dans mes recherches, j'ai trouvé un script SQL qui permet de sélectionner les informations que je cherche (Nom de la base et Taille de la base), mais je ne comprend pas bien comment le script fonctionne pourriez-vous m'aider à le commenter ?

Il ne me reste plus qu'une question, comment exploiter ces informations pour les mettre sous forme de graphique ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
USE master
 
declare @PageSize varchar(10)
 
SELECT @PageSize=v.low/1024.0
FROM master..spt_values v
WHERE v.number=1 AND v.type='E'
 
SELECT name AS NomBaseDeDonnées, convert(float,NULL) AS Size
INTO #tem
FROM sysdatabases WHERE dbid>4
 
declare @SQL varchar (8000)
SET @SQL=''
 
while EXISTS (SELECT * FROM #tem where size is null)
begin
SELECT @SQL='update #tem set size=(select round(sum(size)*'+@PageSize+'/1024,0) From '+quotename(NomBaseDeDonnées)+'.dbo.sysfiles) where NomBaseDeDonnées='''+NomBaseDeDonnées+''''
FROM #tem
WHERE size IS NULL
exec (@SQL)
end
 
SELECT * FROM #tem order by NomBaseDeDonnées
DROP TABLE #tem
Merci de votre participation.
maeldefeu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 22h12   #4
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 774
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 774
Points : 1 839
Points : 1 839
Pour information, mais vous avez sûrement besoin de quelque chose de plus "personnalisé", en activant le "Data Collector",vous trouverez un rapport sur l'évolution de la taille des différents fichiers.
Au pire vous pouvez toujours activer cela, ce qui créera une BDD dédiée collectant les données (attention, ça peut prendre de la place...) et développer votre propre rapport.
__________________
Alexandre Chemla - Consultant MS BI chez Masao
Jinroh77 est actuellement 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 14h12.


 
 
 
 
Partenaires

Hébergement Web