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

Rapport multibase

1 réponse
Avatar
Nicole
Bonjour à tous,

Je dois contrôler régulièrement l’état de bases de données SQL Server chez
un client. Actuellement, j’utilise les différents rapports extraits pour
chaque base de données. Mais, comme le nombre de bases de données est assez
important, cela prend beaucoup de temps. De plus, j’ai remarqué qu’il
existait des tables et des vues Système, qui contiennent des données sur les
bases. Mais je n’ai pas trouvé comment afficher les tailles des data et des
logs de toutes les bases en une seule opération. Pourriez-vous m’indiquer la
procédure à suivre, pour afficher un tel rapport ?
Pour résumer, je souhaiterais afficher et enregistrer sous Excel, par
exemple, un rapport multibase, qui permette de visualiser les différentes
bases, en une seule fois.
Je voudrais ainsi voir sous forme de tableaux ou de graphes, les tailles
des data et des logs, ainsi que les pourcentages d’utilisation, comme cela
peut être réalisé avec DBSize, qui n’est malheureusement pas installé chez
mon client.
Dans l’espoir que vous pourrez m’apporter une aide toujours aussi
précieuse, je vous remercie par avance.
--
Nicole
Consultant - développeur

1 réponse

Avatar
Forum
Nicole a écrit :
Bonjour à tous,

Je dois contrôler régulièrement l’état de bases de données SQL Server chez
un client. Actuellement, j’utilise les différents rapports extraits pour
chaque base de données. Mais, comme le nombre de bases de données est assez
important, cela prend beaucoup de temps. De plus, j’ai remarqué qu’il
existait des tables et des vues Système, qui contiennent des données sur les
bases. Mais je n’ai pas trouvé comment afficher les tailles des data et des
logs de toutes les bases en une seule opération. Pourriez-vous m’indiquer la
procédure à suivre, pour afficher un tel rapport ?
Pour résumer, je souhaiterais afficher et enregistrer sous Excel, par
exemple, un rapport multibase, qui permette de visualiser les différentes
bases, en une seule fois.
Je voudrais ainsi voir sous forme de tableaux ou de graphes, les tailles
des data et des logs, ainsi que les pourcentages d’utilisation, comme cela
peut être réalisé avec DBSize, qui n’est malheureusement pas installé chez
mon client.
Dans l’espoir que vous pourrez m’apporter une aide toujours aussi
précieuse, je vous remercie par avance.


========================================= Bonjour Nicole,

Avec un "exec sp_helpdb" sur le serveur et un "exec spaceused", vous
auriez peut-être des infos précises ?

ou alors essayez ceci (à adapter)

WITH
I AS
(
SELECT *
FROM sys.dm_db_index_physical_stats(NULL, NULL, NULL, NULL, NULL)
)
SELECT s.name, t.name, SUM(page_count) / 1024.0 AS KO
FROM sys.tables as t
INNER JOIN sys.schemas as s
ON t.schema_id = s.schema_id
INNER join I
ON t.object_id = I.object_id
GROUP BY s.name, t.name

ou bien cela (à adapter)

USE [MyaBDD]

DECLARE @nomTable varchar(500)
DECLARE @RC int

DECLARE Table_Cursor CURSOR FOR
SELECT name FROM dbo.sysobjects WHERE xtype='U'

OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @nomTable
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC @RC = [dbo].[sp_spaceused] @nomTable, DEFAULT
FETCH NEXT FROM Table_Cursor INTO @nomTable
END

CLOSE Table_Cursor
DEALLOCATE Table_Cursor

Cdt,
Houdini