Sql server SQL Server 2008-FileStream-禁用文件的8.3名称和上次访问时间

Sql server SQL Server 2008-FileStream-禁用文件的8.3名称和上次访问时间,sql-server,sql-server-2008,filestream,Sql Server,Sql Server 2008,Filestream,我正试图通过以下文章在我的计算机中配置SQL Server 2008 filestream:- 文章说,在进行SQL Server更改以启用filestream之前,应出于性能原因禁用8.3名称和对windows中文件的上次访问 问题:-(如果你能告诉我你在这方面的经验,那会更好) 如果我选择不禁用8.3名称和对windows中文件的上次访问,该怎么办?我还能使用Filestream吗 如果我先为filestream进行SQL Server配置,如果我注意到性能问题,我会进行windows更改

我正试图通过以下文章在我的计算机中配置SQL Server 2008 filestream:-

文章说,在进行SQL Server更改以启用filestream之前,应出于性能原因禁用8.3名称和对windows中文件的上次访问

问题:-(如果你能告诉我你在这方面的经验,那会更好)

  • 如果我选择不禁用8.3名称和对windows中文件的上次访问,该怎么办?我还能使用Filestream吗

  • 如果我先为filestream进行SQL Server配置,如果我注意到性能问题,我会进行windows更改,会不会出现任何问题

  • 提前感谢您的建议

    阿什

  • 如果不禁用此选项,您仍然可以使用Filestream类型。在低容量的情况下,比如在我管理的一个实现中,没有对性能的抱怨。这是因为每分钟只有3-6个并发用户查看1-2个图像,或者大约有3-6个。每天都有一个任务将更新的blob转储到web服务器,以实际承载图像(初始加载后每天最多150个)。我想说的是,真正确定的唯一方法是在将服务器投入生产之前,使用预期的峰值负载进行测试


  • 据了解,选择不禁用8.3功能可能会导致性能持续下降,因为更改只会影响将来的文件,因此枚举旧文件的速度会较慢(不确定最后一部分,但msdn文章没有指定在查找文件时,事后禁用是否会忽略8.3名称)。如果您的BLB数据具有可预测的大小模式,您可能还需要考虑实现中的簇大小。如果所有文件的大小都在25到30 KB之间,您可能希望将集群大小设置为32,以减少碎片和i/o操作(但您不希望过大,因为这样会在小文件上浪费空间)


  • 意见如下:如果你知道你可以改变这个设置,它只会防止未来的问题,我会这样做

    8.3性能下降是由NTFS实现细节造成的-当生成新的8.3名称时,将查询特定文件夹中的所有文件,以检查给定名称是否不存在。因此,文件夹中的文件越多,生成这样一个名称所需的时间就越长

    Paul Randal不久前写了一篇关于文件流的文章

    问候


    Piotr

    关于你的第二点:我认为如果你的blob大小是30 KB,那么在大多数情况下,你最好使用不带filestream属性的常规varbinary(max)。你完全正确,我将数字保持为小以简化解释。对于大多数SQL实现,建议从64KB的集群大小开始。谢谢你的评论。这需要澄清。“但是msdn文章没有具体说明在查找文件时,事后禁用是否会忽略8.3名称。”。。这是我想确认的一件事。当然,我需要用peek负载来测试,虽然这并不是解决我问题的答案。但是,请关闭并感谢您的努力。选择这个作为答案。