如何使Windows资源管理器中反映的FileTable文件夹名称更改?

时间:2016-02-16 16:00:36

标签: sql-server tsql filetable

我的SQL Server 2012数据库中有FileTable,其中包含文件夹和文件。我想重命名一个文件夹,所以我执行了

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

更新成功,当我从中选择时,文件表会反映新名称。但是,当我进入Windows资源管理器并导航到相应的文件夹位置时,不会反映新名称。我尝试刷新并稍等,然后刷新,但文件夹仍然有旧名称。当我尝试打开文件夹(使用旧名称)时,它会给出一个错误,指出该位置无效(或出现这种情况),并且在单击“确定”后,该文件夹将消失。

但是,如果我尝试使用新名称在同一位置创建新文件夹,则会收到该文件夹​​已存在的错误。当我单击“确定”时,会出现带有新名称的文件夹,以及名为“新文件夹”的新文件夹(由于尝试创建名称为NewName的文件夹失败。删除文件夹后{ {1}},我得到了所需的结果:文件表已更新,新名称反映在Windows资源管理器中。

因此,似乎文件表大部分都在工作,但是如何确保在查询或存储过程中执行的名称更改(或其他更改)将反映在文件共享中?

我已经搜索过,但没有找到任何讨论此问题的内容。

编辑:
在将新记录插入文件表时,我注意到了类似的事情。新记录(本例中为文件夹)在创建后不会显示在Windows资源管理器中,即使它们确实出现在文件表中。然而,奇怪的是,在尝试不同的事情后,最近在Windows资源管理器中出现了五个最近创建的文件夹。所以,也许只是一个滞后。有没有人有类似的经历?

1 个答案:

答案 0 :(得分:0)

我最近试图自己解决这个问题。重命名FileTable后,可以使用SSMS打开FileTable的属性。有一个FileTable页面,可以手动更新FileTable目录名称。

T-SQL命令如下:

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

请参阅Create, Alter, and Drop FileTables