Warm tip: This article is reproduced from serverfault.com, please click

sql server-是否可以访问FILESTREAM共享?

(sql server - Is it possible to access the FILESTREAM share?)

发布于 2010-09-02 21:13:28

我的意思是能够通过Windows资源管理器或其他程序访问它。我相信答案是不可能的。但是我真的很想知道为什么不允许这样做。似乎可以通过网络共享将文件设置为只读。

Questioner
Schmalls
Viewed
11
MikeW 2010-09-03 07:17:34

你无法直接访问Filestream共享并四处浏览。对Filestream文件的任何打开都需要使用从SQL Server检索的路径以及通过EABuffer传递适当的事务上下文的NtCreateFile(或包装器)来完成。

可以创建一个新的共享并将其指向文件的物理位置,但这是没有意义的,因为没有将SQL Filestream行解析为物理文件位置的支持方法(RsFx筛选器驱动程序在内部处理这些转换) ,由于并发更新/分区更改,文件位置可能随时更改,并且你需要将文件夹的安全性放宽到不可接受的水平。如果在不了解SQL Server的情况下移动或删除文件,它也可能导致数据库损坏。如dportas的评论中所述,对物理文件持有的任何锁都将干扰删除。

我同意,能够通过资源管理器浏览Filestream文件的命名空间并直接通过应用程序打开文件而无需重写应用程序将是很棒的。