
Tag : datafiler,SQL,SQL Server
-- Lista alla datafilers storlek och hur mycket plats det finns
SELECT a.fileid,
[FILE_SIZE_MB] = CONVERT( DECIMAL(12,2),Round(a.size /128.000,2)),
[SPACE_USED_MB] = CONVERT(DECIMAL(12,2),Round(Fileproperty(a.NAME,'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] = CONVERT(DECIMAL(12,2),Round((a.size-Fileproperty(a.NAME,'SpaceUsed'))/128.000,2)) ,
NAME = LEFT(a.NAME,15),
filename = LEFT(a.filename,30)
FROM dbo.sysfiles a
-- Lista alla datafilers storlek och hur mycket plats det finns med filgrupper
SELECT [FILE_SIZE_MB] = CONVERT( DECIMAL(12,2),Round(a.size /128.000,2)),
[SPACE_USED_MB] = CONVERT(DECIMAL(12,2),Round(Fileproperty(a.NAME,'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] = CONVERT(DECIMAL(12,2),Round((a.size-Fileproperty(a.NAME,'SpaceUsed'))/128.000,2)) ,
sdf.NAME AS [FileName],
fg.NAME AS [File_Group_Name],
FILENAME = LEFT(a.filename,60)
FROM sys.database_files sdf
INNER JOIN sys.filegroups fg
ON sdf.data_space_id=fg.data_space_id
INNER JOIN dbo.sysfiles a
ON a.fileid = sdf.file_id
ORDER BY filename DESC
-- Lista alla datafilers storlek i alla databaser på en server
DECLARE @command VARCHAR(1000)SELECT @command = 'use [?];select a.FILEID, [FILE_SIZE_MB] = convert(decimal(12,2),round(a.size/128.000,2)), NAME = left(a.NAME,50), FILENAME = left(a.FILENAME,300) from dbo.sysfiles a'EXEC Sp_msforeachdb
@command