SQL Server FILESTREAM限制

我正在查看sql Server中的FILESTREAM属性来存储文件.我理解它将文件存储在硬盘驱动器上,并将文件指针/路径信息存储在数据库中.此外,维护流程中的事务一致性.

对于FILESTREAM属性,似乎也存在限制“FILESTREAM数据只能存储在本地磁盘卷上”.

如果我预期我的网络应用程序可以存储每个1-2mb的200,000张图像,我将需要大约200gb的硬盘空间来存储图像.由于FILESTREAM要求所有数据只能根据限制存储在本地磁盘上,所以不可能将数百万个文件存储在单个硬盘驱动器上,因为存储要求将非常大.

我对这个限制的理解是正确的还是我在这里遗漏的东西?

如果这个限制是正确的,我会将其存储在db中作为纯Blob,并将我的数据库集群到存储要求的增加,这似乎不可能与FILESTREAM.

分享你的想法!

更新:
关于FILESTREAM的更多问题:

>如何处理数据恢复的情况
的数据容器损坏?
>我们只能备份数据库
文件系统数据? [假设数据
在SAN中,不需要移动]
>我想备份或恢复
DB并且只是重新映射文​​件组
路径信息[映射到SAN].
这可能吗?

解决方法

FILESTREAM实际上不需要本地存储,只是不是SMB网络存储. iSCSI或光纤通道SAN可以保存FILESTREAM数据.您还可以在每个表中拥有多个filestream文件组,实际上是对数据进行分区.如果您严格针对sql server 2008,则很少有理由不使用filestream进行大型二进制数据.有一个Microsoft白皮书描述filestream分区 here.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...