gpt4 book ai didi

sql-server - 使用 SQL Server 2012 FileTable 创建目录后资源管理器未更新

转载 作者:行者123 更新时间:2023-12-02 22:43:22 24 4
gpt4 key购买 nike

我正在尝试通过存储过程在 SQL Server FileTable 中创建目录,我在其中调用以下代码:

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

调用此代码后,如果我在 SQL Server Management Studio 中选择行,我可以看到文件表中的行,但如果我通过 Windows 资源管理器浏览到文件表目录,我将看不到新创建的目录。如果我刷新 Windows 资源管理器,该目录仍然不会显示。如果我在资源管理器的文件表目录中创建一个文件,那么它似乎会唤醒资源管理器,然后显示通过存储过程创建的所有目录。

当我在同一个 SQL 框和不同的数据库上运行它时,我不会遇到这个问题,并且我已经比较了所有属性,它们看起来相同,但我一定缺少一些东西,但不知道什么?任何帮助将非常感激。提前致谢

最佳答案

我也看到过同样的问题 - 资源管理器无限期缓存网络共享目录结构似乎存在问题。我还注意到它不会刷新,直到我创建一个文件然后删除它 - 然后神奇地缓存刷新。删除文件必须强制刷新目录缓存。

此缓存问题似乎与 SMB 相关 - 我尝试了 SMB 2 (Windows 7) 和 SMB 3 (Windows 8),并且经历过同样的问题。 SQL 2012 FileTables are supposed to support SMB 3 .

following this TechNet forum post之后, disabling the SMB directory cache使其每次刷新(在 Win7 和 Win8 上验证)。我猜测这可能是 SQL Server 未发送正确的 SMB 消息或 SMB 客户端堆栈中的错误。无论哪种方式 - 微软都需要解决这个问题,因为他们管理客户端和服务器设计。

禁用 SMB 目录缓存

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

关于sql-server - 使用 SQL Server 2012 FileTable 创建目录后资源管理器未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com