Как сделать так, чтобы изменение имени папки FileTable отражалось в проводнике Windows?

У меня есть FileTable в моей базе данных SQL Server 2012, которая содержит как папки, так и файлы. Я хотел переименовать папку, поэтому я выполнил

update MyFileTable set name = 'NewName' where name = 'OldName';

Обновление прошло успешно, и таблица файлов отображает новое имя, когда я выбираю его. Однако, когда я захожу в Windows Explorer и перехожу к соответствующей папке, новое имя не отражается. Я попытался обновить и немного подождать, затем обновить, но папка все еще имеет старое имя. Когда я пытаюсь открыть папку (со старым именем), выдает ошибку, что местоположение недопустимо (или что-то в этом роде), и после нажатия "ОК" папка исчезает.

Однако, если я пытаюсь создать новую папку в том же месте с новым именем, я получаю сообщение об ошибке, что папка уже существует. Когда я нажимаю "ОК", появляется папка с новым именем, а также новая папка с именем "Новая папка" (из-за неудачной попытки создать папку с именем NewName, После удаления папки New folderУ меня есть желаемый результат: таблица файлов обновляется, и новое имя отражается в проводнике Windows.

Итак, кажется, что файловая таблица работает по большей части, но как я могу убедиться, что изменение имени (или другое изменение), выполненное в запросе или хранимой процедуре, будет отражено в общей папке?

Я погуглил, но не нашел ничего, что обсуждало бы эту проблему.

РЕДАКТИРОВАТЬ:
Я заметил аналогичную вещь при вставке новых записей в таблицу файлов. Новые записи (в данном случае папки) не отображаются в проводнике Windows после создания, даже если они отображаются в таблице файлов. Любопытно, однако, что после нескольких попыток сразу в Windows Explorer появилось пять недавно созданных папок. Так что, может быть, есть только лаг. У кого-нибудь был подобный опыт?

1 ответ

Я недавно пытался понять это сам. После переименования FileTable можно использовать SSMS, чтобы открыть Свойства для FileTable. Существует страница FileTable, где можно вручную обновить имя каталога FileTable.

Команда T-SQL выглядит следующим образом:

ALTER TABLE filetable_name
SET (FILETABLE_DIRECTORY = N'directory_name ');
ИДТИ

См. Создание, изменение и удаление файловых таблиц.

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