Михаил Захаров
Обнаружена следующая особенность работы FileStream. Если удалить большой файл, который был загружен в DocsVision и размещен в FileStream, то папка FileStream на диске не уменьшается и имеет тот же размер, что и до удаления.
При изучении поведения были найдены 2 статьи:
http://www.itcommunity.ru/blogs/rsug/archive/2009/6/3.aspx
http://www.sqlskills.com/BLOGS/PAUL/post/FILESTREAM-garbage-collection.aspx
Это особенность работы технологии FileStream в SQL Server 2008. Файлы из хранилища удаляются не сразу, а в определенный момент. За удаление файла отвечает т.н. "сборщик мусора".
Сборщик мусора срабатывает при создании контрольных точек (операция CHECKPOINT) http://msdn.microsoft.com/ru-ru/library/ms188748.aspx. Которая в свою очередь вызывается, либо вручную, либо при операциях бекапа (базы или лога).
Т.о. при активной работе с базой (когда количество транзакций велико) сборщик мусора должен срабатывать автоматически через некоторый период и уменьшать размер хранилища.
На тестовой базе можно проверить самостоятельно выполнив команду бекапа лога транзакций и создания контрольной точки:
USE master
EXEC sp_addumpdevice 'disk', 'MyDBLog', 'c:\Temp\Log.bak'
BACKUP LOG MyBase to MyDBLog
CHECKPOINT
На тестовых базах, количество транзакций невелико и эту операцию (backup-checkpoint) придется выполнить несколько раз (на моей пришлось делать 20).
Ссылки по теме