RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Особенность работы FileStream

Обнаружена следующая особенность работы 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).

Если есть, что уточнить, по работе и технологии FileStream (или исправить :) пишите в комментариях. Читать дальше

0 коммент.:

Отправить комментарий