Skip to main content

Sprawdzenie zajętości plików bazy danych

Wykonujemy w SSMS z wybraną bazą danych master

DECLARE @DB NVARCHAR(128) = 'NazwaBazyDanych'; 
DECLARE @sql NVARCHAR(MAX); 

SET @sql = N' 
USE ' + QUOTENAME(@DB) + N'; 
SELECT 
    ''' + @DB + N''' AS DatabaseName, 
    mf.name AS LogicalFileName, 
    mf.physical_name AS PhysicalFileName, 
    mf.type_desc AS FileType, 
    mf.size / 128.0 AS FileSizeMB, 
    FILEPROPERTY(mf.name, ''SpaceUsed'') / 128.0 AS SpaceUsedMB, 
    (FILEPROPERTY(mf.name, ''SpaceUsed'') / 128.0) / (mf.size / 128.0) * 100 AS SpaceUsedPercent 
FROM 
    sys.master_files mf 
WHERE 
    mf.database_id = DB_ID(''' + @DB + N'''); '; 

-- Execute the dynamic SQL 
EXEC sp_executesql @sql;