解决方法
这个问题有两个部分:何时添加新的FILEGROUP,以及何时在文件组中添加新的FILE.首先让我们谈谈理论:
马克关于表现的主要原因是正确的.
次要原因是灾难恢复.使用sql Server 2005及更高版本,您可以执行文件组还原.当灾难发生时,您可以先恢复主文件组,并使数据库部分联机以进行查询.用户可以在还原其他文件组时运行查询.这对于具有大量可能不需要的历史数据的数据库或需要将数据加载到当前表而不需要历史数据进行访问的数据仓库非常有用.
另一个原因是数据组的读/写配置文件.如果您有一些不断写入的数据,以及其他读取活动繁重的数据,您可以构建不同类型的存储来满足这些需求.你可以把重写的东西放在raid 10上,然后把读取偏见的东西放在便宜的raid 5上.
现在,让我们谈谈文件与文件组.在sql Server中放置对象时,必须将它们放在文件组级别.您可以在文件组中放置表或索引,但不能选择特定文件.所以到目前为止我们讨论的所有内容都是关于何时添加文件组 – 但是什么时候添加文件?
如果您正在设计存储,并且您有80个硬盘驱动器,那么有几种方法可以将其分解:
>一个80个驱动器池
>两个40个驱动器池
>四个20驱动器池等…
不同的存储子系统具有不同的性能配置文我曾经使用过一些在12-16驱动器阵列中性能最佳的SAN,而且大于此的任何SAN都没有性能提升.另一个例子是具有多路径的SAN:如果有几个HBA将服务器连接到存储,并且如果多路径软件不是真正的主动/主动,那么每个路径可能需要一个阵列才能分配负载.四条路径,四个驱动器池将在这些类型的驱动器上获得更好的性能.
在这些情况下,您最终得到四个不同的阵列,Windows下的四个不同的驱动器(除非您使用挂载点,即使它是不同的文件夹),您将需要sql Server中的四个单独的文件.这些单独的文件可以位于同一文件组中.