1

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

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

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

但是,如果我尝试使用新名称在同一位置创建一个新文件夹,则会收到该文件夹​​已存在的错误消息。当我单击“确定”时,出现了新名称的文件夹,加上一个名称为“新文件夹”的新文件夹(由于尝试创建名称为 的文件夹不成功NewName。删除文件夹后New folder,我得到了想要的结果:文件表已更新,新名称反映在 Windows 资源管理器中。

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

我用谷歌搜索,但没有找到任何讨论这个问题的东西。

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

4

1 回答 1

1

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

T-SQL命令如下:

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

请参阅创建、更改和删除文件表

于 2017-12-20T07:32:58.017 回答