Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Корректное удаление файлов ... в транзакции  [new]
Ishigava
Guest
Проблема. Есть таблица, к записям в которой ассоциированы файлы на диске (такая постановка) - поле fname nvarchar(400). При удалении записи, эти файлы нужно аккуратно убирать с диска.

Прямой подход к проблеме: объявить триггер, который смотрит записи из таблицы deleted, собирает имена файлов для удаления и затем выполняет xp_cmdshell 'del '....

Проблема с транзакциями: если внешняя транзакция будет прервана, то по логике, файлы тоже нужно восстановить - да не понятно как :(.

Гипотеза: отмечать файлы для удаления (например во временной таблице) и при успешном завершении транзакции удалять файлы физически.

Вопрос: можно ли повесить какой либо обработчик на завершение транзакции?
Может есть какое-либо более "человеческие" решение?

PS: вариант с размещением файлов в BLOB полях не пройдет по постановке.

Спасибо за идеи...
21 авг 04, 15:24    [899260]     Ответить | Цитировать Сообщить модератору
 Re: Корректное удаление файлов ... в транзакции  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
Как вариант - держать табличку с путями файлов на удаление и по джобу их удалять. Как с фиска, так и из таблички.
21 авг 04, 16:12    [899279]     Ответить | Цитировать Сообщить модератору
 Re: Корректное удаление файлов ... в транзакции  [new]
Ishigava
Guest
Идея с job-ом интересная. Спасибо.
22 авг 04, 12:50    [899572]     Ответить | Цитировать Сообщить модератору
 Re: Корректное удаление файлов ... в транзакции  [new]
KOLCHOZ_POSTEVENT
Guest
По майкрософтовски,не удалять,а переводить в некую 'помойку',команда move.
Условия вывоза помойки-отдельная тема.
22 авг 04, 14:36    [899619]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить