BI experience

Enquête sur les tables de nos bases de données

| 0 Commentaires

Dans le décisionnel, la volumétrie est quand même une donnée non négligeable. Vous avez envie d’en savoir plus sur vos tables? Voilà une requête qui peut vous intéresse^r :

—————————————

/*On crée la table  #temp qui contiendra les infos sur chaque table de notre BDD*/

CREATE TABLE #temp(
rec_id int IDENTITY (1, 1),
NomTable varchar(128),
nbrLignes int,
data_space decimal(15,2),
index_space decimal(15,2),
total_size decimal(15,2),
percent_of_db decimal(15,12),
db_size decimal(15,2))

/*j’exécute ce script qui me permet de relever des infos grâce aux tables system*/

EXEC sp_msforeachtable @command1= »insert into #temp(nbrLignes, data_space, index_space) exec sp_mstablespace ‘?’ »,
@command2= »update #temp set NomTable= ‘?’ where rec_id = (select max(rec_id) from #temp) »
UPDATE #temp
SET total_size = (data_space + index_space), db_size = (SELECT SUM(data_space + index_space) FROM #temp)
UPDATE #temp
SET percent_of_db = (total_size/db_size) * 100
SELECT * FROM #temp ORDER BY total_size DESC

/* vous pouvez tout sélectionner */
SELECT * FROM #temp

/*les 5 premières plus grosses tables */
SELECT TOP 5 * FROM #temp ORDER BY total_size DESC

/*supprimer la table */
DROP TABLE #temp

————————————

Cette requête a été faite pour SQL Server et les tailles sont exprimés en Mo

Laisser un commentaire

Champs Requis *.

*