Я удалил все из корзины семейства веб-сайтов и перенес на SQL-сервер, на котором расположена база данных контента, пошел просматривать WSS_Content, и присоска не стала меньше. У меня было около двух-трех гигабайт папок с файлами в корзине. Я просто хочу убедиться, что он удаляется.
Что-то мне не хватает? Или сервер SQL неправильно обновляет размеры файлов?
MOSS2007 IIS6 WinSer2003
Базы данных не сжимаются автоматически только потому, что в них меньше. Изменение размера базы данных на лету - это кошмар производительности, поэтому большинство людей прилагают большие усилия, чтобы убедиться, что файл достаточно большой, чтобы они могли его увеличивать в непиковые часы.
Вам нужно бежать DBCC SHRINK DATABASE
Контентная БД не должна сжиматься. При необходимости вы можете запустить базу данных сжатия DBCC, но я бы не стал привыкать к этой привычке. Я бы запустил этот скрипт перед сжатием, чтобы увидеть, есть ли у вас «лишнее» свободное место.
SELECT DB_NAME(database_id) AS DatabaseName,
CAST([Name] AS varchar(20)) AS NameofFile,
CAST(physical_name AS varchar(100)) AS PhysicalFile,
type_desc AS FileType,
((size * 8)/1024) AS FileSize,
MaxFileSize = CASE WHEN max_size = -1 OR max_size = 268435456 THEN 'UNLIMITED'
WHEN max_size = 0 THEN 'NO_GROWTH'
WHEN max_size <> -1 OR max_size <> 0 THEN CAST(((max_size * 8) / 1024) AS varchar(15))
ELSE 'Unknown'
END,
SpaceRemainingMB = CASE WHEN max_size = -1 OR max_size = 268435456 THEN 'UNLIMITED'
WHEN max_size <> -1 OR max_size = 268435456 THEN CAST((((max_size - size) * 8) / 1024) AS varchar(10))
ELSE 'Unknown'
END,
Growth = CASE WHEN growth = 0 THEN 'FIXED_SIZE'
WHEN growth > 0 THEN ((growth * 8)/1024)
ELSE 'Unknown'
END,
GrowthType = CASE WHEN is_percent_growth = 1 THEN 'PERCENTAGE'
WHEN is_percent_growth = 0 THEN 'MBs'
ELSE 'Unknown'
END
FROM master.sys.master_files
WHERE state = 0
AND type_desc IN ('LOG', 'ROWS')
ORDER BY database_id, file_id
Исходный код этого кода Вот