Kim Torgersen


Lista databaser efter storlek

article feature image


Lista databaser på aktuell server, efter storlek fallande.

WITH DB AS (
    SELECT
        D.database_id,
        D.name,
        MF.type_desc,
        MF.name AS filename,
        CONVERT(NUMERIC(19,2),
          CONVERT(NUMERIC(19,2), MF.size * 8) / 1024 / 1024
        ) AS [GB]
    FROM
        sys.databases D
        JOIN sys.master_files MF ON
            MF.database_id = D.database_id
)
SELECT
    PVT.database_id,
    PVT.name,
    PVT.ROWS,
    PVT.LOG,
    PVT.ROWS + PVT.LOG AS Total
FROM
    (
        SELECT
            DB.database_id,
            DB.name,
            DB.type_desc,
            DB.GB
        FROM
            DB
    ) DB
    PIVOT (
        SUM(GB)
        FOR type_desc IN ([ROWS], [LOG])
    ) PVT
ORDER BY
    Total DESC;