Проводник не обновляется после создания каталогов с помощью SQL Server 2012 FileTable

Я пытаюсь создать каталоги в таблице файлов SQL Server с помощью хранимой процедуры, в которой я вызываю следующий код:

INSERT INTO tblMyFiles (name, is_directory, is_archive) 
VALUES ('foldername', 1, 0); 

После вызова этого кода я вижу строку, расположенную в таблице файлов, если я выбираю строки в SQL Server Management Studio, но если я исследую каталог файловой таблицы через проводник Windows, я не вижу вновь созданный каталог. Если я обновлю Windows Explorer, то каталог все равно не появится. Если я создаю файл в каталоге "Таблица файлов" в Проводнике, он, похоже, пробуждает Проводник, а затем появляются все мои каталоги, созданные с помощью хранимой процедуры.

Я не сталкиваюсь с этой проблемой при запуске этого на одном и том же блоке SQL и для другой базы данных, и я сравнил все свойства, и они кажутся идентичными, но я должен что-то упустить и не знаю что? Любая помощь приветствуется. заранее спасибо

1 ответ

Я видел эту же проблему - кажется, есть проблема с Explorer, кэширующим структуру каталогов сетевого ресурса на неопределенный срок. Я также заметил, что он не будет обновляться, пока я не создаю файл, а затем не удаляю его, а затем волшебным образом обновляется кэш. Удаление файла должно привести к обновлению кэша каталога.

Эта проблема с кешем, по-видимому, связана с SMB - я пробовал и SMB 2 (Windows 7), и SMB 3 (Windows 8), и столкнулся с той же проблемой. Предполагается, что файловые таблицы SQL 2012 будут поддерживать SMB 3.

После этого сообщения на форуме TechNet отключение кэша каталогов SMB заставляет его обновляться каждый раз (проверено на Win7 и Win8). Я предполагаю, что это может быть SQL Server, не отправляющий правильные сообщения SMB, или ошибка в стеке клиента SMB. В любом случае - Microsoft должна решить эту проблему, поскольку они управляют дизайном как клиента, так и сервера.

Отключение кэша каталогов SMB

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\ Параметры] "DirectoryCacheLifetime"=dword:00000000

Другие вопросы по тегам