sync
This commit is contained in:
@@ -48,7 +48,7 @@ SELECT
|
||||
--,d2.[log_size_mb]
|
||||
--,d2.[row_size_mb]
|
||||
,'-----' AS separator
|
||||
,CAST(f.size * 8. / 1024 AS DECIMAL(18,2)) AS fileSizeMB
|
||||
,CAST(f.size * 8.0 / 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
|
||||
@@ -64,6 +64,19 @@ DBCC SHRINKFILE (N'''+f.[name]+''' , 1024);
|
||||
GO
|
||||
|
||||
' AS reorganizeData
|
||||
,'USE '+d.name+';
|
||||
IF 1024 < '+CAST(CAST(f.size * 8.0 / 1024 AS DECIMAL(18,2)) AS VARCHAR(15))+' --file is above 1Go
|
||||
AND 95 > '+CAST(CAST((fs.[CurrentSizeMB] - fs.[FreeSpaceMB]) * 100 / (CAST(f.size * 8.0 / 1024 AS DECIMAL(18,2))) AS DECIMAL(6,2))AS VARCHAR(15))+' --and usage below 95%
|
||||
AND 0 < '+CAST(CAST(fs.[CurrentSizeMB] - fs.[FreeSpaceMB] AS DECIMAL(18,2))AS VARCHAR(15))+' --and data are present
|
||||
BEGIN
|
||||
--print ''Reorganize '+d.name+'.'+f.name+' ''
|
||||
RAISERROR(''Reorganize '+d.name+'.'+f.name+' '',0,0) WITH NOWAIT
|
||||
|
||||
DBCC SHRINKFILE (N'''+f.[name]+''' , '+CAST(CAST(fs.[CurrentSizeMB] - fs.[FreeSpaceMB] + 1024 AS DECIMAL(18,0)) AS VARCHAR(15))+');
|
||||
RAISERROR(''Done'',0,0) WITH NOWAIT
|
||||
END
|
||||
GO
|
||||
' AS auto_action
|
||||
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]
|
||||
@@ -76,12 +89,12 @@ WHERE f.type_desc IN (
|
||||
--AND d.[is_read_only] = 0
|
||||
--AND d.[is_auto_shrink_on] = 0
|
||||
--AND d.name='sl2007'
|
||||
--AND d.name NOT IN (
|
||||
-- 'master'
|
||||
-- ,'tempdb'
|
||||
-- ,'model'
|
||||
-- ,'msdb'
|
||||
--)
|
||||
AND d.name NOT IN (
|
||||
'master'
|
||||
,'tempdb'
|
||||
,'model'
|
||||
,'msdb'
|
||||
)
|
||||
ORDER BY [d2].[row_size_mb] DESC, d.name DESC, f.name ASC ;
|
||||
|
||||
--free disk space
|
||||
|
||||
Reference in New Issue
Block a user