Come ottenere la dimensione delle tabelle nel database

Tutorial di configurazione e script pratici per lavorare con i database in modo efficiente e padroneggiare i vari linguaggi SQL.
Rispondi
FrancyDotNet
Moderatore
Moderatore
Messaggi: 969
Iscritto il: 01/05/2024, 23:26

Come ottenere la dimensione delle tabelle nel database

Messaggio da FrancyDotNet »

Questo script SQL consente di ottenere le dimensioni delle tabelle in un database SQL Server. Restituisce informazioni come il nome della tabella, il numero di righe, lo spazio totale, lo spazio utilizzato e lo spazio non utilizzato (in KB). Questo è utile per monitorare l'uso dello spazio e identificare le tabelle che occupano più risorse nel database.

Codice: Seleziona tutto

SELECT 
    t.NAME AS TableName,
    s.Name AS SchemaName,
    p.rows AS RowCounts,
    SUM(a.total_pages) * 8 AS TotalSpaceKB, 
    SUM(a.used_pages) * 8 AS UsedSpaceKB, 
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
FROM 
    sys.tables t
INNER JOIN      
    sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
    sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN 
    sys.schemas s ON t.schema_id = s.schema_id
WHERE 
    t.NAME NOT LIKE 'dt%' 
    AND t.is_ms_shipped = 0
    AND i.OBJECT_ID > 255 
GROUP BY 
    t.Name, s.Name, p.Rows
ORDER BY 
    TotalSpaceKB DESC;
Rispondi

Torna a “Database”