启用和配置 FILESTREAM
在开始使用 FILESTREAM 之前,必须在 SQL Server 数据库引擎实例中启用 FILESTREAM。 本主题说明了如何使用 SQL Server 配置管理器来启用 FILESTREAM。
启用 FILESTREAM
启用和更改 FILESTREAM 设置
-
在 “开始” 菜单中,依次指向 “所有程序”、 SQL Server 2017、 “配置工具”,然后单击“SQL Server 配置管理器”。
-
在服务列表中,右键单击“SQL Server 服务”,然后单击“打开”。
-
在“SQL Server 配置管理器”管理单元中,找到要在其中启用 FILESTREAM 的 SQL Server 实例。
-
右键单击该实例,然后单击“属性”。
-
在 “SQL Server 属性” 对话框中,单击 “FILESTREAM” 选项卡。
-
选中“针对 Transact-SQL 访问启用 FILESTREAM”复选框。
-
如果要在 Windows 中读取和写入 FILESTREAM 数据,请单击“针对文件 I/O 流访问启用 FILESTREAM”。 在 “Windows 共享名” 框中输入 Windows 共享的名称。
-
如果远程客户端必须访问存储在此共享中的 FILESTREAM 数据,请选择 “允许远程客户端针对 FILESTREAM 数据启用流访问”。
-
单击 “应用”。
-
在 SQL Server Management Studio中,单击 “新建查询” 以显示查询编辑器。
-
在查询编辑器中,输入以下 Transact-SQL 代码:
tsqlEXEC sp_configure filestream_access_level, 2 RECONFIGURE
-
单击 “执行”。
-
重新启动 SQL Server 服务。
最佳做法
物理配置和维护
设置 FILESTREAM 存储卷时,请考虑下列准则:
-
禁用 FILESTREAM 计算机系统中的短文件名。 创建短文件名需要花费相当长的时间。 若要禁用短文件名,请使用 Windows fsutil 实用工具。
-
定期对 FILESTREAM 计算机系统进行碎片整理。
-
使用 64-KB NTFS 簇。 压缩卷必须设置为 4-KB NTFS 簇。
-
在 FILESTREAM 卷上禁用索引并设置 disablelastaccess。 若要设置 disablelastaccess,请使用 Windows fsutil 实用程序。
-
除非必要,否则请禁止对 FILESTREAM 卷进行防病毒扫描。 如果需要进行防病毒扫描,请避免设置将自动删除有问题文件的策略。
-
设置并调整 RAID 级别,以达到应用程序所需的容错能力和性能。
RAID 级别 | 写性能 | 读性能 | 容错 | 注释 |
RAID 5 | Normal | Normal | 很好 | 性能比一个磁盘或 JBOD 更好;比 RAID 0 或条带化 RAID 5 差。 |
RAID 0 | 很好 | 很好 | 无 | |
RAID 5 + 条带化 | 很好 | 很好 | 很好 | 成本最高的选项。 |
物理数据库设计
设计 FILESTREAM 数据库时,应考虑下列准则:
-
FILESTREAM 列必须附带相应的 uniqueidentifierROWGUID 列。 这些类型的表还必须附带唯一索引。 此索引通常不是聚集索引。 如果数据库业务逻辑需要聚集索引,则必须确保该索引中存储的值不是随机的。 随机值将导致每次向表中添加行或从表中删除行时,索引都会重新排序。
-
出于性能方面的考虑,FILESTREAM 文件组和容器应驻留在操作系统、 SQL Server 数据库、 SQL Server 日志、tempdb 或分页文件以外的卷上。
-
FILESTREAM 不直接支持空间管理和策略。 但是,您可以通过将每个 FILESTREAM 文件组分配到独立的卷并使用该卷的管理功能来间接地管理空间和应用策略。