Bonjour ,
je voudrais avoir le select me donnant la taille occupée (pas la taille totale) dans un fichier de data
et la requete m'indiquant egalement la taiile occupée dans le fichier log
sp_spaceused ne le donne pas
merci
Bonjour ,
je voudrais avoir le select me donnant la taille occupée (pas la taille totale) dans un fichier de data
et la requete m'indiquant egalement la taiile occupée dans le fichier log
sp_spaceused ne le donne pas
merci
et sp_helpdb ?
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
non, sp_helpdb ne donne pas l'info recherchée, ce que je veux , c'est avoir les renseignements donnés dans l'affichage par sql entreprise manager pour une base selectionnée , affichage, taskpad, space allocated
Oui, sp_helpdb retourne l'info si vous spécifiez en 1er paramètre la base.
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
Non désolé,cela ce donne pas ce que j'attend ,
a savoir la place occupée et la place libre à l'interieur du fichier de données d'une base
Donc, place utilisée = 307 M de data et 40 M de log
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 sp_helpdb maBase Name db_size owner dbid created status compatibility_level ==== ====== ===== === ===== ==== ============ maBase 339.69 MB sa 6 mars 21 200 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=SIMPLE, Version=539, Collation=SQL_Latin1_General_CP1_CI_AS, SQLSortOrder=52, IsTornPageDetectionEnabled, IsAutoCreateStatistics, IsAutoUpdateStatistics 80 Name Fileid filename filegroup size maxsize growth usage ==== ==== ======= ====== === ======= ==== ===== MaBase_Data 1 D:\SQL_Data\MaBase\Data\MaBase.mdf PRIMARY 307200 KB Unlimited 0% data only MaBase_Log 2 D:\SQL_Data\MaBase\LOG\MaBase_log.ldf NULL 40640 KB 131072 KB 8192 KB log only
Place libre = tant que j'ai du disque (autoextend) pour les data, et 131 M pour le log
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
Dans ton exemple sur les 307 mb alloués , peut-etre n'y a t'il que 200 d'occupé et 107 Mb de libre par exemple, c'est ce que je recherche, afin de suivre précisemment l'évolution de mes bases et pouvoir faire des graphes
A associer à l'alloué :
Attention aux unités : ce sont des pages de 8K et pas des Mo (d'où ma division par 128).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select sum(reserved)/128 RESERVER_MO, sum(used)/128 USED_MO from sysindexes
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
hop, je m'incruste dans la conversation, mais si tu veux rajouter a ca la taille de log aloue et utilise ?
en te remerciant pour ton aide
bon, ben voila le code definitif pour ceux que ca interesserait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 DECLARE @dbname VARCHAR(64) CREATE TABLE #tmplg4 ( DBName VARCHAR(64), DATA_RESERVED_MO REAL, DATA_USED_MO REAL, DATA_FREE_MO REAL, LOG_RESERVED_MO REAL, LOG_USED_MO REAL, LOG_FREE_MO REAL ) DECLARE c1 CURSOR FOR SELECT name FROM master..sysdatabases WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb') OPEN c1 FETCH NEXT FROM c1 INTO @dbname WHILE @@fetch_status <> -1 BEGIN CREATE TABLE #tmplg1 ( Data_Reserved_MO REAL, Data_Used_MO REAL, DATA_FREE_MO REAL ) CREATE TABLE #tmplg2 ( DBName VARCHAR(64), LogSize REAL, LogSpaceused REAL, Status INT ) CREATE TABLE #tmplg3 ( DBName VARCHAR(64), LOG_RESERVED_MO REAL, LOG_USED_MO REAL, LOG_FREE_MO REAL ) INSERT INTO #tmplg1 EXEC ('SELECT SUM(sys1.reserved)/128, SUM(sys1.used)/128, (SUM(sys1.reserved)/128)-(SUM(sys1.used)/128) ' + 'FROM '+ @dbname + '..sysindexes sys1') INSERT INTO #tmplg2 EXEC ('DBCC sqlperf(logspace)') INSERT INTO #tmplg3 EXEC ('SELECT dbname, logsize/8, logspaceused*LogSize/800, logsize/8-(logspaceused*LogSize/800) FROM #tmplg2 WHERE dbname = ''' + @dbName + '''') INSERT INTO #tmplg4 SELECT tmp2.dbname, tmp1.data_reserved_MO, tmp1.DATA_USED_MO, tmp1.DATA_FREE_MO, tmp2.LOG_RESERVED_MO, tmp2.LOG_USED_MO, tmp2.LOG_FREE_MO FROM #tmplg1 tmp1, #tmplg3 tmp2 DROP TABLE #tmplg1 DROP TABLE #tmplg2 DROP TABLE #tmplg3 FETCH NEXT FROM c1 INTO @dbname END SELECT * FROM #tmplg4 DROP TABLE #tmplg4 CLOSE c1 DEALLOCATE c1
Partager