Added new scripts and changes
This commit is contained in:
@@ -15,13 +15,44 @@ FROM sys.master_files F WITH(NOWAIT)
|
||||
GROUP BY F.database_id
|
||||
ORDER BY [total_size_mb] DESC
|
||||
|
||||
IF OBJECT_ID('tempdb..#FileSize')IS NOT NULL BEGIN;
|
||||
DROP TABLE #FileSize;
|
||||
END;
|
||||
CREATE TABLE #FileSize(
|
||||
dbName NVARCHAR(128) NOT NULL,
|
||||
FileName NVARCHAR(128) NOT NULL,
|
||||
type_desc NVARCHAR(128) NOT NULL,
|
||||
CurrentSizeMB DECIMAL(10,2) NOT NULL,
|
||||
FreeSpaceMB DECIMAL(10,2) NULL
|
||||
)
|
||||
INSERT INTO #FileSize(dbName, FileName, type_desc, CurrentSizeMB, FreeSpaceMB)
|
||||
exec sp_msforeachdb
|
||||
'use [?];
|
||||
SELECT DB_NAME() AS DbName,
|
||||
name AS FileName,
|
||||
type_desc,
|
||||
size/128.0 AS CurrentSizeMB,
|
||||
size/128.0 - CAST(FILEPROPERTY(name, ''SpaceUsed'') AS INT)/128.0 AS FreeSpaceMB
|
||||
FROM sys.database_files
|
||||
WHERE type IN (0,1);';
|
||||
|
||||
/*
|
||||
SELECT *
|
||||
FROM #FileSize
|
||||
*/
|
||||
|
||||
SELECT
|
||||
d.[name] AS dbName
|
||||
,f.[physical_name] AS physicalFileName
|
||||
,f.[name] AS logicalFileName
|
||||
--,d2.[log_size_mb]
|
||||
--,d2.[row_size_mb]
|
||||
,'-----' AS separator
|
||||
,CAST(f.size * 8. / 1024 AS DECIMAL(18,2)) AS fileSizeMB
|
||||
,fs.[FreeSpaceMB] AS FreeSpaceInFileMB
|
||||
,fs.[CurrentSizeMB] - fs.[FreeSpaceMB] AS SpaceUsedMB
|
||||
,CAST((fs.[CurrentSizeMB] - fs.[FreeSpaceMB]) * 100 / (CAST(f.size * 8. / 1024 AS DECIMAL(18,2))) AS NUMERIC(6,2)) AS fileSpaceUsedPercent
|
||||
,'-----' AS separator
|
||||
,d2.[total_size_mb] AS totalDbSizeMB
|
||||
,'USE '+d.name+';
|
||||
DBCC SHRINKFILE (N'''+f.[name]+''' , 0, TRUNCATEONLY);
|
||||
@@ -36,6 +67,7 @@ GO
|
||||
FROM sys.master_files F
|
||||
JOIN sys.databases d ON d.[database_id] = f.[database_id]
|
||||
JOIN [#dbs] [d2] ON d2.[database_name] = d.[name]
|
||||
LEFT JOIN [#FileSize] fs ON fs.[FileName] = f.name AND fs.[dbName] = d.[name]
|
||||
WHERE f.type_desc IN (
|
||||
'ROWS' --mdf
|
||||
--,'LOG'
|
||||
@@ -43,6 +75,7 @@ WHERE f.type_desc IN (
|
||||
--AND f.[physical_name] LIKE 'f%'
|
||||
--AND d.[is_read_only] = 0
|
||||
--AND d.[is_auto_shrink_on] = 0
|
||||
--AND d.name='sl2007'
|
||||
--AND d.name NOT IN (
|
||||
-- 'master'
|
||||
-- ,'tempdb'
|
||||
|
||||
Reference in New Issue
Block a user