Il est intéressant de connaître la longueur maximale qui peut être stockée par une table pour tenter de prévoir la taille d’une base de données lorsque le système sera arrivé à maturité.
Voici une petite requête pour nous y aider sous SQL Server 2005 et 2008…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ------------------------------- -- Nicolas SOUQUET - 06/10/2009 ------------------------------- SELECT nomTable, longueurLigne, 8060 / longueurLigne AS nbLignesParPage, longueurLigne * (8060 / longueurLigne) AS nbMaxOctetsParPage, 8060 - (longueurLigne * (8060 / longueurLigne)) nbOctetsPerdusParPage, (longueurLigne + longueurLigne % 8060) / 8060 AS nbPagesStockeLigne FROM ( SELECT T.name AS nomTable, SUM(C.max_length) AS longueurLigne FROM sys.tables AS T JOIN sys.columns AS C ON T.object_id = C.object_id JOIN sys.types AS TY ON C.user_type_id = TY.user_type_id GROUP BY T.name ) AS TMP (nomTable, longueurLigne) |
ElSuket