Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment connaître la taille de toutes les tables présentes dans un

6 réponses
Avatar
Kigner
Bonjour,
je tente d'obtenir la taille (Mo) de toutes les tables présentes dans une
base de données...

Voici ce que j'ai fait:
**********************************************************
EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace ('?')"
**********************************************************

Mais avec cela j'obtient un message d'erreur:
Line 1: Incorrect syntax near '[dbo].[ACCI]'.

Et cela pour toutes les table présentes dans la DB...
Qqun a-t-il une idée pour me dépatouiller ???

En vous remerciant par avance,
salutations

6 réponses

Avatar
Fred BROUARD
Bonjour,

Kigner a écrit :
Bonjour,
je tente d'obtenir la taille (Mo) de toutes les tables présentes dans une
base de données...

Voici ce que j'ai fait:
**********************************************************
EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace ('?')"
**********************************************************

Mais avec cela j'obtient un message d'erreur:
Line 1: Incorrect syntax near '[dbo].[ACCI]'.

Et cela pour toutes les table présentes dans la DB...
Qqun a-t-il une idée pour me dépatouiller ???




SELECT d.name AS NOM_BASE,
SUM(size * 8.0) / 1024 AS SIZE_MB
FROM master.dbo.sysaltfiles f
INNER JOIN sysdatabases d
ON f.dbid = d.dbid
GROUP BY d.name


A +

En vous remerciant par avance,
salutations




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Kigner
Merci beaucoup Fred!

Sauf erreur ceci me donne la taille des bases de données présentes dans une
instance. -> sysdatabases

Je cherche à obtenir la taille de toutes les tables présentes dans une DB...
faut-il voir avec "sysobjects where type ='U' ???

d'avance, merci,
salutations et bon appétit

"Fred BROUARD" a écrit :

Bonjour,

Kigner a écrit :
> Bonjour,
> je tente d'obtenir la taille (Mo) de toutes les tables présentes dans une
> base de données...
>
> Voici ce que j'ai fait:
> **********************************************************
> EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace ('?')"
> **********************************************************
>
> Mais avec cela j'obtient un message d'erreur:
> Line 1: Incorrect syntax near '[dbo].[ACCI]'.
>
> Et cela pour toutes les table présentes dans la DB...
> Qqun a-t-il une idée pour me dépatouiller ???
>

SELECT d.name AS NOM_BASE,
SUM(size * 8.0) / 1024 AS SIZE_MB
FROM master.dbo.sysaltfiles f
INNER JOIN sysdatabases d
ON f.dbid = d.dbid
GROUP BY d.name


A +

> En vous remerciant par avance,
> salutations


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Avatar
Kigner
Voici ce que j'ai fait mais j'obtient toujours la même taille pour chaque
table...
ou est l'erreure ???

SELECT d.name AS NOM_TABLE,
SUM(size * 8.0) / 1024 AS SIZE_MB
FROM master.dbo.sysaltfiles f
INNER JOIN sysobjects d
ON f.dbid = d.uid where type ='U'
GROUP BY d.name

"Kigner" a écrit :

Merci beaucoup Fred!

Sauf erreur ceci me donne la taille des bases de données présentes dans une
instance. -> sysdatabases

Je cherche à obtenir la taille de toutes les tables présentes dans une DB...
faut-il voir avec "sysobjects where type ='U' ???

d'avance, merci,
salutations et bon appétit

"Fred BROUARD" a écrit :

> Bonjour,
>
> Kigner a écrit :
> > Bonjour,
> > je tente d'obtenir la taille (Mo) de toutes les tables présentes dans une
> > base de données...
> >
> > Voici ce que j'ai fait:
> > **********************************************************
> > EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace ('?')"
> > **********************************************************
> >
> > Mais avec cela j'obtient un message d'erreur:
> > Line 1: Incorrect syntax near '[dbo].[ACCI]'.
> >
> > Et cela pour toutes les table présentes dans la DB...
> > Qqun a-t-il une idée pour me dépatouiller ???
> >
>
> SELECT d.name AS NOM_BASE,
> SUM(size * 8.0) / 1024 AS SIZE_MB
> FROM master.dbo.sysaltfiles f
> INNER JOIN sysdatabases d
> ON f.dbid = d.dbid
> GROUP BY d.name
>
>
> A +
>
> > En vous remerciant par avance,
> > salutations
>
>
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
> ********************* http://www.datasapiens.com ***********************
>


Avatar
Fred BROUARD
Kigner a écrit :
Voici ce que j'ai fait mais j'obtient toujours la même taille pour chaque
table...
ou est l'erreure ???

SELECT d.name AS NOM_TABLE,
SUM(size * 8.0) / 1024 AS SIZE_MB
FROM master.dbo.sysaltfiles f
INNER JOIN sysobjects d
ON f.dbid = d.uid where type ='U'
GROUP BY d.name



non, c'est pas du tout cela. Si tu veut la taille de chaque table :

SELECT o.name AS TABLE_NAME, sum(dpages * 8) AS SIZE_KB
FROM sysindexes i
INNER JOIN sysobjects o
ON i.id = o.id
GROUP BY o.name

le faire dans chaque base.


A +



"Kigner" a écrit :

Merci beaucoup Fred!

Sauf erreur ceci me donne la taille des bases de données présentes dans une
instance. -> sysdatabases

Je cherche à obtenir la taille de toutes les tables présentes dans une DB...
faut-il voir avec "sysobjects where type ='U' ???

d'avance, merci,
salutations et bon appétit

"Fred BROUARD" a écrit :

Bonjour,

Kigner a écrit :
Bonjour,
je tente d'obtenir la taille (Mo) de toutes les tables présentes dans une
base de données...

Voici ce que j'ai fait:
**********************************************************
EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace ('?')"
**********************************************************

Mais avec cela j'obtient un message d'erreur:
Line 1: Incorrect syntax near '[dbo].[ACCI]'.

Et cela pour toutes les table présentes dans la DB...
Qqun a-t-il une idée pour me dépatouiller ???



SELECT d.name AS NOM_BASE,
SUM(size * 8.0) / 1024 AS SIZE_MB
FROM master.dbo.sysaltfiles f
INNER JOIN sysdatabases d
ON f.dbid = d.dbid
GROUP BY d.name


A +

En vous remerciant par avance,
salutations



--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************









--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
msnews.microsoft.com
EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace '?'"

Bien cordialement
Med Bouchenafa

"Kigner" wrote in message
news:
Bonjour,
je tente d'obtenir la taille (Mo) de toutes les tables présentes dans une
base de données...

Voici ce que j'ai fait:
**********************************************************
EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace ('?')"
**********************************************************

Mais avec cela j'obtient un message d'erreur:
Line 1: Incorrect syntax near '[dbo].[ACCI]'.

Et cela pour toutes les table présentes dans la DB...
Qqun a-t-il une idée pour me dépatouiller ???

En vous remerciant par avance,
salutations


Avatar
Timur
Réponse un peu à coté, car ce n'est pas en TSQL, mais as-tu regardé l'outil
gratuit SQLDBSIZE
sur l'excellentissime

http://www.sqldbtools.com/


SQLDBDIF est aussi un superbe outil.

--
Cordialement

Oxiane
----------------------------------------------------------
Omnia vanitas




"Kigner" a écrit dans le message de
news:
Bonjour,
je tente d'obtenir la taille (Mo) de toutes les tables présentes dans une
base de données...

Voici ce que j'ai fait:
**********************************************************
EXEC sp_MSforeachtable @command1="print '?' exec sp_mstablespace ('?')"
**********************************************************

Mais avec cela j'obtient un message d'erreur:
Line 1: Incorrect syntax near '[dbo].[ACCI]'.

Et cela pour toutes les table présentes dans la DB...
Qqun a-t-il une idée pour me dépatouiller ???

En vous remerciant par avance,
salutations