Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
tunknown Member Откуда: Сообщений: 766 |
Нужно при копировании файла по UNC пути в FileTable автоматически создать для него ещё один файл в той же директории. В триггере этого сделать нельзя
Даже если создавать вызовом приложения из триггера, то будет блокировка, о которой предупреждается
Я не смог понять, может ли Alert следить за локальным UNC путём. За сетевым- пишут, не может. Alert может следить только за FileTable директорией <DataBase>\Files, внутри неё- уже не следит SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA "CIM_DirectoryContainsFile" AND TargetInstance.GroupComponent = "Win32_Directory.Name=\"*:\\\\**\\\\***\\\\Files\"" Понятно, что можно сделать job по расписанию или как-то "велосипедно пробрасывать" событие. Есть ли более стандартный способ? |
||||
24 июл 17, 13:09 [20669568] Ответить | Цитировать Сообщить модератору |
tunknown Member Откуда: Сообщений: 766 |
Неверно написал: вместо Alert может следить только за FileTable директорией <DataBase>\Files, внутри неё- уже не следит следует читать Alert может следить только за FileTable директорией <DataBase>, за <DataBase>\Files- уже не следит |
24 июл 17, 13:12 [20669581] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
tunknown, сделайте через Service Broker. |
24 июл 17, 13:25 [20669651] Ответить | Цитировать Сообщить модератору |
Rankatan Member Откуда: Сообщений: 250 |
Может создать таблицу-очередь на добавление файла, которая будет заполняться триггером на FileTable. А саму очередь будет обрабатывать джоб который работает в бесконечном режиме? |
24 июл 17, 13:31 [20669692] Ответить | Цитировать Сообщить модератору |
tunknown Member Откуда: Сообщений: 766 |
|
||||
24 июл 17, 13:33 [20669710] Ответить | Цитировать Сообщить модератору |
Rankatan Member Откуда: Сообщений: 250 |
еще идея попробуй из треггера вызвать что-то типа exec master..xp_cmdshell 'osql -d MYDB-E -n -Q "insert into t1 values ('........')"' Будет вызвано вне транзакции поэтому может сработать. Но это тот еще способ. |
24 июл 17, 13:55 [20669828] Ответить | Цитировать Сообщить модератору |
tunknown Member Откуда: Сообщений: 766 |
|
||
24 июл 17, 15:51 [20670343] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |