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

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

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

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

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


person Olly    schedule 07.09.2012    source источник
comment
Это проблема Explorer, а не SQL Server.   -  person RBarryYoung    schedule 15.10.2012


Ответы (1)


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

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

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

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] DirectoryCacheLifetime=dword:00000000

person SliverNinja - MSFT    schedule 15.10.2012