同一 SAN 磁盘上的多个 SQL Server 数据文件

6 sql-server storage san datafile

我目前正在创建一个新数据库,以前只使用过一个数据文件和一个日志文件。我在网上做了一些关于多个数据文件的好处的研究,但我发现关于单个磁盘上多个数据文件的好处的意见不一。所以我的问题是:如果我唯一可用的磁盘是 SAN 磁盘,我会看到将数据拆分为 4 个单独文件的任何性能优势(例如多线程/并行处理)吗?使用单个文件会更好吗?

此外,将索引(可能还有存档表)分离到同一磁盘上不同文件上的自己的文件组中是否有任何性能优势?这只会提供行政利益吗?

谢谢!

sql*_*dle 5

与每个 LUN 一个 tempdb 相比,即使单个 LUN 上的多个 tempdb 文件也应该是最后的手段。如果 LUN 上有多个数据库文件,并且允许它们自动增长,则它们的内容将在文件系统和存储中交错。用读或写请求严重打击它们,会导致一种称为 IO 编织或磁盘磁头抖动的情况。即使写入通常被缓存,写入也不能免受 io weaving 的影响,因为最终写入需要从缓存中降级。如果查询溢出大量使用 tempdb,则会出现大量顺序写入活动。将多个 tempdb 放在同一个 LUN 上,在存储的不同位置可以有多个顺序写入活动流,所有这些都通过同一个 LUN 队列进行访问。


mrd*_*nny 2

您可能不会看到用户数据库的单个 LUN 上有多个数据文件有任何好处。

TempDB 是一种特殊情况,因为在正常操作期间会在 tempdb 数据库中创建大量对象。