必须先在 SQL Server 数据库引擎实例上启用 FILESTREAM,然后才能开始使用 FILESTREAM。 本主题介绍如何使用 SQL Server Configuration Manager 启用 FILESTREAM。
注释
无法在 64 位作系统上运行的 32 位版本的 SQL Server 上启用 FILESTREAM。
启用 FILESTREAM
启用和更改 FILESTREAM 设置
在 “开始 ”菜单上,指向 “所有程序”,指向“SQL Server 2014”,指向 “配置工具”,然后单击“ SQL Server 配置管理器”。
在服务列表中,右键单击 SQL Server 服务,然后单击“ 打开”。
在 SQL Server Configuration Manager 管理单元中,找到要启用 FILESTREAM 的 SQL Server 实例。
右键单击实例,然后单击“ 属性”。
在 “SQL Server 属性 ”对话框中,单击“ FILESTREAM ”选项卡。
选中“ 启用 FILESTREAM 以 Transact-SQL 访问 ”复选框。
如果要从 Windows 读取和写入 FILESTREAM 数据,请单击“ 为文件 I/O 流访问启用 FILESTREAM”。 在 “Windows 共享名称 ”框中输入 Windows 共享的名称。
如果远程客户端必须访问存储在此共享上的 FILESTREAM 数据,请选择 “允许远程客户端对 FILESTREAM 数据进行流式处理访问”。
点击“应用”。
在 SQL Server Management Studio 中,单击“新建查询”以显示查询编辑器。
在查询编辑器中,输入以下 Transact-SQL 代码:
EXEC 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 | 正常 | 正常 | 很好 | 性能优于单个磁盘或JBOD;低于带有条带化的RAID 0或RAID 5。 |
RAID 0(条带化存储) | 很好 | 很好 | 没有 | |
RAID 5 + 剥离 | 很好 | 很好 | 很好 | 最昂贵的选项。 |
物理数据库设计
设计 FILESTREAM 数据库时,请考虑以下准则:
必须为 FILESTREAM 列附带一个相应的
uniqueidentifier
ROWGUID 列。 这些类型的表还必须附带唯一索引。 通常,此索引不是聚集索引。 如果数据库业务逻辑需要聚集索引,则必须确保索引中存储的值不是随机的。 随机值将导致每次从表中添加或删除行时重新排序索引。出于性能原因,FILESTREAM 文件组和容器应驻留在操作系统、SQL Server 数据库、SQL Server 日志、tempdb 或分页文件之外的卷上。
FILESTREAM 不直接支持空间管理和策略。 但是,可以通过将每个 FILESTREAM 文件组分配到单独的卷并使用卷的管理功能来间接管理空间和应用策略。