Если в базе данных ведется какое-то вычисление, периодически необходимо уменьшать её размер, вот пример скрипта который может проверять свободное место и выполнять уменьшение бд если она разрослась.


USE database_name DECLARE @name sysname, @sizeMB int, @usedMB int, @freeMB int; SELECT @name = name, @sizeMB = size / 128, @usedMB = FILEPROPERTY(name, 'SpaceUsed') / 128 FROM sys.database_files WHERE type_desc = 'ROWS'; SET @freeMB = @sizeMB - @usedMB; IF @freeMB > 10000 -- больше 10 ГБ свободного BEGIN DBCC SHRINKFILE (@name, @usedMB + 5000); -- +5 ГБ запас END