Sql Server – 数据库中有多less个文件

有多less数据文件(mdf,ndf)我应该有一个数据库的经验法则?

Tempdb似乎是一个特殊的动物,因为他们的地址是特别的。

http://msdn.microsoft.com/en-us/library/ee377054%28BTS.10%29.aspx

将TempDB文件拆分成多个文件可能会解决与I / O操作相关的性能问题。 作为一般准则,请为每个处理器创build一个文件数据文件,并对所有创build的文件使用相同的大小。

大多数其他数据库应该有他们的数据和日志不同的驱动器。 这些驱动器很可能是RAIDconfiguration,所以实际上在幕后使用了多个驱动器。

如果你有一个热表,你可以把它移动到另一个文件组,并把它放在一个单独的磁盘组上。

我一直在使用的某个性能监视工具build议将数据库拆分成等于机器上处理器数量的文件。 我不记得在任何MS文档阅读。

一般来说,1.除了TempDB之外,每处理器一个文件,我认为是现代版本的SQL Server的一个神话。

只有几个非常独特的情况下,多个文件提供了真正的优势(使用零散备份的非常大的数据仓库中的分区表就是一个例子)。

就磁盘性能而言,在单个逻辑单元中分配更多磁盘通常会更好,而跨越所有磁盘的大数据文件通常会更好,因为您可以获得数据库中所有活动的所有磁盘的性能优势。 如果您拥有相同数量的物理磁盘,而是将其分成更小的组,并将数据分别存放在特定的文件中,那么在大多数情况下,您的networking性能会有所下降,而不会增加。

作为一个经验法则,你应该使用最大50%的磁盘(或磁盘系统)的容量,否则你是在按照50%的限制规则拆分你的mdf文件。

希望这个简单的规则引导你。