我首先要说的是,我的知识是Windows文件系统的基础知识以及它如何使用权限等。我是SQL dba,并且遇到了我认为必须解决的问题具有NTFS权限或设置。
我们有一个复制服务器,该服务器创建快照,并将快照放置在文件共享的不同文件夹中。然后,客户端将连接到此文件共享并下载其快照。
要创建这些快照,我们需要在SQL Server(在域帐户下运行)上运行的作业来刷新这些快照文件夹。它应该删除当前的快照文件夹,并使用更新的数据创建一个新的文件夹。
当前发生的情况是SQL无法以某种方式删除该文件夹
Message: Could not remove directory
'\\FILESERVER\VTWSnapshot\unc\SERVERNAME$DEV05_DATABASENAME\41_9\'.
Check the security context of xp_cmdshell and close other processes
that may be accessing the directory.
我们赋予了复制帐户对文件夹的完全控制权限(该帐户创建了文件夹),并且还赋予了SQL Service帐户完全控制权。我们要求服务器管理员在执行作业时捕获所有Windows事件,似乎SQL Service帐户尝试删除该文件夹但失败。它是本地管理员,对文件共享文件夹具有完全控制权。 有什么我们想念的吗?
由于服务器相关的所有工作均来自美国,因此我与服务器管理员之间的时间差为6个小时。因此,我希望获得尽可能多的建议,以便我们可以召开会议并一次尝试一些其他事情。 因此,欢迎提出任何建议。
我们还检查了是否有另一个程序正在使用/锁定文件夹中的任何文件,情况并非如此。
玩了一段时间之后,我注意到当我尝试删除其他人创建的文件夹时,会收到此消息。
难道这就是从作业中删除语句的原因? 该过程尝试使用以下命令删除文件夹:
rmdir /S /Q
由于两个帐户都具有“完全控制”权限,因此它应该能够删除该文件夹。