2016-02-16 2 views
1

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

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

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

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

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

Я гугле вокруг, но ничего, что обсуждает этот вопрос не найден

EDIT?.:
Я заметил подобную вещь при вставке новых записей в таблицу файлов. Новые записи (папки в этом случае) не отображаются в проводнике Windows после создания, даже если они отображаются в таблице файлов. Любопытно, однако, что после нескольких попыток, пять недавно созданных папок появились в Проводнике Windows все сразу. Так что, может быть, есть просто отставание. Кто-нибудь имел подобный опыт?

+0

@ M.Ali Я не думаю, что это правда. Когда я изменяю имя папки в Проводнике Windows, новое имя немедленно отражается при выполнении 'select * from MyFileTable'. Но в другом направлении обновление не отражается. – neizan

+0

Вы считаете, что считаете, что при изменении имени файла в таблице базы данных этот файл автоматически будет переименован в вашу файловую систему? –

+0

@TabAlleman В принципе, да. Сейчас я пытаюсь создать папку, но я бы ожидал, что она будет одинаковой для файла. Обратите внимание, что я работаю с FileTable, который является объектом, предназначенным для выполнения этих функций. – neizan

ответ

0

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

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

ALTER TABLE filetable_name
SET (FILETABLE_DIRECTORY = N'directory_name»);
GO

См. Create, Alter, and Drop FileTables.

Смежные вопросы