最近,我们的团队正在研究FILESTREAM以扩展我们专有应用程序的功能.此应用程序的主要目的是管理我们制造的所有零件的各种PDFS,图像和文档.我们的ASP应用程序使用一些第三方工具来允许查看这些文件.我们目前在Fileserver上有980GB的数据.我们在SQL Server中有大约200GB的二进制数据,我们想要提取它,因为它不能很好地执行,因此FILESTREAM似乎是对两个主要数据存储/访问问题的良好折衷.
我们不清楚一些事情:
FILESTREAM可以或不可以将其数据存储在非本地连接的驱动器上.我们已经有一个带有RAID 10(1.5TB驱动器)的文件服务器.此服务器现在存储所有文档,我们是否必须将这些驱动器移动到SQL Server for FILESTREAM?由于服务器也是应用服务器(一台物理服务器上有两个虚拟机)的两倍,因此这将是一个棘手的问题.
FILETABLE存储有关文件的公共元数据,但存储的全文部分在哪里,以便搜索doc/docx等文件?这是分开的吗?您是否可以自由添加标准来搜索?如果是这样,任何澄清的链接将不胜感激.
可以使用外键在另一个表中引用FILETABLE吗?
先感谢您
编辑:对于那些有这些问题的人来说,这个网络视频涵盖了从2008年到2012年解释文件流的所有内容和更多内容以及需要考虑的问题(如果可能,我会认真地回答他):http://channel9.msdn.com/Events / TechDays/Techdays-2012-的-荷兰/ 2270
总之,我们不会使用FILESTREAM,因为它可以适应投资的巨大热潮.
编辑2:
更新到#1 - 除了FILESTREAM之外,我们仔细评估了FileTable,我们获得了一个成功的组合.我们确实必须将文件移到新服务器上(因为它们位于同一个VM上并不痛苦).老实说,我花了更多时间编写一个提取工具,将SQL中的二进制数据转储到文件系统中.
更新到#2 - 这是独立的,但鲍勃再次有一个很好的网络研讨会解释这个:http://channel9.msdn.com/Events/TechEd/Europe/2012/DBI411
更新到#3 - 使用TFT继承我们回收了我们拥有的Docs表(减去巨大的二进制blob),这对我们的遗留应用程序只需要很少的更改.这对开发团队来说是一个巨大的结果.