2017/08/23

在开始使用 FILESTREAM 之前,必须在 SQL Server 数据库引擎实例中启用 FILESTREAM。 本主题说明了如何使用 SQL Server 配置管理器来启用 FILESTREAM。

启用 FILESTREAM

启用和更改 FILESTREAM 设置

  1. 在 “开始” 菜单中,依次指向 “所有程序”、 SQL Server 2017、 “配置工具”,然后单击“SQL Server 配置管理器”

  2. 在服务列表中,右键单击“SQL Server 服务”,然后单击“打开”。

  3. 在“SQL Server 配置管理器”管理单元中,找到要在其中启用 FILESTREAM 的 SQL Server 实例。

  4. 右键单击该实例,然后单击“属性”。

  5. 在 “SQL Server 属性” 对话框中,单击 “FILESTREAM” 选项卡。

  6. 选中“针对 Transact-SQL 访问启用 FILESTREAM”复选框。

  7. 如果要在 Windows 中读取和写入 FILESTREAM 数据,请单击“针对文件 I/O 流访问启用 FILESTREAM”。 在 “Windows 共享名” 框中输入 Windows 共享的名称。

  8. 如果远程客户端必须访问存储在此共享中的 FILESTREAM 数据,请选择 “允许远程客户端针对 FILESTREAM 数据启用流访问”

  9. 单击 “应用”

  10. 在 SQL Server Management Studio中,单击 “新建查询” 以显示查询编辑器。

  11. 在查询编辑器中,输入以下 Transact-SQL 代码:

    tsql复制
    EXEC sp_configure filestream_access_level, 2
    RECONFIGURE
  12. 单击 “执行”

  13. 重新启动 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 文件组分配到独立的卷并使用该卷的管理功能来间接地管理空间和应用策略。

最新文章

  1. 【FLUENT案例】05:DDPM模型
  2. VB中复制-粘贴-剪切键实现
  3. 解决magento后台无法登陆/登陆没有反应的方法
  4. 56. Android中进程优先级小结
  5. POJ2796 Feel Good 单调栈
  6. xcode添加音效
  7. hdu1535 SPFA
  8. R-note1
  9. ArrayList LinkedList Vector
  10. C#调用webservers实现天气预报
  11. 使用jQuery实现简单的tab框
  12. Java:对象的强、软、弱和虚引用[转]
  13. Session的过期时间如何计算?
  14. java编程(2)——servlet和Ajax异步请求的接口编程(有调用数据库的数据)
  15. 多功能版vue日历控件
  16. Angular 自定义指令传参
  17. SpringBoot基础入门
  18. h5登录页面
  19. Linux磁盘分区与文件系统
  20. 实习培训——Java基础(2)

热门文章

  1. 怎样用adb抓取log?
  2. 堆”,"栈","堆栈","队列"以及它们的区别
  3. [LeetCode] 47. 全排列 II
  4. jquery做一个小的轮播插件---有BUG,后续修改
  5. Jmeter--函数助手之随机函数_Random(随机函数)
  6. 2018-11-11-weekly
  7. springboot 集成oss
  8. Java HashMap 实现概况及容量
  9. Vue-搭建环境
  10. 【leetcode】K-th Symbol in Grammar