SQL Server 2005/2008 - 多个文件组?

mar*_*c_s 13 sql-server database-design sql-server-2005 filegroup sql-server-2008

我是一名热心的开发人员 - 但是时不时地,客户没有一个像样的DBA来处理这些问题,所以我被要求决定....

在处理合理大小的SQL Server数据库(比Northwind或AdventureWorks更大的数据库)时,您的策略/最佳实践是什么? - 您使用多个文件组吗?如果是这样:多少?为什么?

您决定何时摆脱"一个文件组的一切"方法的标准是什么:

  • 数据库大小?
  • 数据库复杂?
  • 可用性/可靠性要求?
  • 还有什么?

如果您使用多个文件组,您使用了多少个?一个用于数据,一个用于索引,一个用于日志?数据的数量(多少)?您选择的原因是什么 - 为什么要使用确切数量的文件组:-)

Bin*_*fit 13

Microsoft培训和最佳实践方法如下:

  • 日志文件放在单独的物理驱动器上
  • 数据文件放在单独的物理驱动器上
  • 多个文件组:当特定表格非常大时.通常在事务数据库中的情况(独立物理驱动器)
  • 多个文件组:使用范围或想要将查找数据拆分为只读数据库文件时(单独的物理驱动器)

请记住,在存储数据时,MDF在技术上与硬盘驱动器分区的工作方式类似.MDF是随机读取的文件,而LDF是顺序读取的文件.因此,将它们拆分为单独的驱动器会导致巨大的性能提升,除非运行固态驱动器,在这种情况下增益仍然存在.