我们的(大量)SQL Server 的数据库文件(数据和日志)托管在闪存 (SAN) 上,对于大小约为 500GB(数据)和 150Gb(日志)的数据库,您会使用什么作为自动增长属性?在后台知道由于存储价格,您无法提前 5 年确定大小。附属问题:在 SSD SAN 卷上处理文件碎片仍然准确吗?
我们的(大量)SQL Server 的数据库文件(数据和日志)托管在闪存 (SAN) 上,对于大小约为 500GB(数据)和 150Gb(日志)的数据库,您会使用什么作为自动增长属性?在后台知道由于存储价格,您无法提前 5 年确定大小。附属问题:在 SSD SAN 卷上处理文件碎片仍然准确吗?
通常,存储类型和数据库的当前大小与您的自动增长设置并不特别相关。确保启用即时文件初始化更为重要。
如果未启用即时文件初始化,那么在初始化文件的新部分时,一切(或多或少)都会停止。使用 SSD 的时间会更短,但仍会是一个重大问题。因此,如果您没有启用它,您可能希望将增长大小设置得相当小,或者在维护窗口期间增加大小。
如果启用了即时文件初始化,那么无论存储是 SSD 还是盘片,文件增长都只需要几毫秒。您一次增长多少取决于是否有其他任何东西会使用磁盘空间。如果它是一个数据库、一个文件等,并且没有其他东西会使用它,你可以只增长一次以使用几乎所有的磁盘并完成它。但是如果有多个数据库/文件,那么您只需要考虑所有这些因素。
至于文件碎片,性能影响完全与磁盘读取时间有关,而且由于 SSD 上的随机磁盘寻道速度要快得多,因此它不像盘片那样严重。正如 Aaron 在上面的评论中提到的,读取应该大部分都在缓冲区之外,所以如果 SQL Server 有足够的内存,它无论如何都不会从磁盘读取太多。
通常,您希望对其进行设置,使其不必经常增长,这样当出现性能问题时,您甚至都不会想知道它是否是由于文件碎片等造成的。没关系您的存储是什么,针对您拥有的任何资源优化配置。在不了解系统的所有细节的情况下,我们只能回答有关概念的问题,而不是关于最适合您的特定情况的具体问题。此外,StackExchange 并不是获取自定义规范的真正场所——这是一种咨询活动。