Обслуживание баз данных
Если в базе данных ведется какое-то вычисление, периодически необходимо уменьшать её размер, вот пример скрипта который может проверять свободное место и выполнять уменьшение бд если она разрослась.
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