gpt4 book ai didi

sql - FILESTREAM/FILETABLE 实现说明

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

最近,我们的团队正在考虑使用 FILESTREAM 来扩展我们专有应用程序的功能。该应用程序的主要目的是管理我们制造的所有零件的各种 PDF、图像和文档。我们的 ASP 应用程序使用一些第三方工具来允许查看这些文件。目前,我们的文件服务器上有 980GB 的数据。我们希望在 SQL Server 中提取大约 200GB 的二进制数据,因为它的性能不佳,因此 FILESTREAM 似乎是解决两个主要数据存储/访问问题的一个很好的折衷方案。

有一些事情我们不太清楚:

  1. FILESTREAM 可以或不能将其数据存储在非本地连接的驱动器上。我们已经有一个带有 RAID 10(1.5TB 驱动器)的文件服务器。该服务器现在存储了所有文档,我们是否必须将这些驱动器移动到 SQL Server 以获得 FILESTREAM?这将是一颗很难咬的子弹,因为服务器还兼作应用程序服务器(一台物理服务器上有两个虚拟机)。

  2. FILETABLE 存储有关文件的常见元数据,但它的全文部分存储在哪里以允许搜索 doc/docx 等文件?这是分开的吗?您可以自由地添加搜索条件吗?如果是这样,任何澄清的链接将不胜感激。

  3. FILETABLE可以在另一个表中用外键引用吗?

提前谢谢

编辑:对于那些有这些问题的人,这个网络视频涵盖了从 2008 年到 2012 年解释文件流以及需要考虑的注意事项的所有内容和更多内容(如果可以的话,我会认真地代表他):http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2270

总之,我们不会使用 FILESTREAM,因为这会导致投资激增。

编辑2:

更新#1 - 在仔细评估 FileTable 和 FILESTREAM 后,我们得到了一个获胜的组合。我们确实必须将文件移至新服务器(这并不痛苦,因为它们位于同一虚拟机上)。老实说,编写一个提取工具将 SQL 中的二进制数据转储到文件系统需要更多时间。

更新#2 - 这是单独的,但鲍勃再次举办了一场精彩的网络研讨会,解释了这一点:http://channel9.msdn.com/Events/TechEd/Europe/2012/DBI411

更新#3 - 使用 TFT 继承​​,我们回收了我们拥有的 Docs 表(减去巨大的二进制 blob),这几乎不需要对我们的旧应用程序进行任何更改。这对于开发团队来说是一个巨大的成果。

最佳答案

FileTables 的文件存储位置必须是本地的,或者至少必须在 SQL Server 中显示为本地位置,以便聪明的 san 驱动程序可能会欺骗它。由于 FileTables 的东西是建立在 FILESTREAM 的东西之上的,我想它们的限制是相同的。

文件表的搜索是通过 containstable 函数完成的,该函数记录在 on MSDN 中。搜索条件使用与全文搜索 AFAIK 相同的语法。

出于所有意图和目的,FileTable 是一个典型的表,因此可以进行连接、搜索或其他操作。唯一的问题是您必须使用 sql server 的某些功能才能将 FILESTREAM guid 更改为更有用的内容,例如文件路径。

关于sql - FILESTREAM/FILETABLE 实现说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11644623/

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