最近我们的团队正在研究FILESTREAM以扩展我们专有应用程序的功能。这个应用程序的主要目的是管理各种PDFS,图像和文件,我们制造的所有部分。我们的ASP应用程序使用一些第三方工具来允许查看这些文件。我们目前在文件服务器上有980GB的数据。我们在SQL Server中有大约200GB的二进制数据,因为它不能很好地执行,因此FILESTREAM似乎是对两个主要数据存储/访问问题的妥协。FILESTREAM/FILETABLE实施说明
有几件事情并不完全清楚地告诉我们:
FILESTREAM可以或不可以它的数据存储不是本地连接的驱动器上。我们已经有一个带有RAID 10的文件服务器(1.5TB驱动器)。此服务器现在存储所有文档,我们是否必须将这些驱动器移至SQL Server for FILESTREAM?这将是一个棘手的问题,因为服务器也是应用服务器的两倍(一台物理服务器上有两台虚拟机)。
FILETABLE存储关于这些文件的公共元数据,但它的全文部分存储在哪里,以允许搜索doc/docx这样的文件?这是单独的吗?你能够自由添加标准来搜索吗?如果是的话,任何明确的链接将不胜感激。
可以使用外键在另一个表中引用FILETABLE吗?
预先感谢您
编辑:对于那些有这些问题,这个网络视频覆盖了一切,并解释到2012年,从2008年FILESTREAM方面更和cavets考虑(我会认真代表他,如果我可以):http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2270
总而言之,我们不会使用FILESTREAM,因为它将成为适应投资的巨大热潮。
编辑2:
更新#1 - 除了FILESTREAM仔细评估的FileTable后,我们得到了一个成功的组合。我们必须将这些文件移动到新的服务器上(因为它们在同一个虚拟机上,所以不会感到痛苦)。老实说,花了更多时间编写一个提取工具来将SQL中的二进制数据转储到文件系统。
更新到#2 - 这是独立的,但再次鲍勃有一个优秀的网络研讨会说明这一点:http://channel9.msdn.com/Events/TechEd/Europe/2012/DBI411
更新至#3 - 使用TFT继承我们回收的文档表格,我们有(减去巨大的二进制块),这我们的传统应用程序只需要很少的更改。这对开发团队来说是一个巨大的结果。
现货。由于我们使用实体框架,所以确实遇到了一个小问题。我们采用了一个软键(如没有FK约束)到stream_id。 EF设计师完全忽略了FileTables。我们在我们的主要项目中制作了一个小型ADO.Net项目,用于上传/下载文档。 – jjhayter 2012-09-16 03:56:28