目录
正确使用SQL Server文件与文件组
MS SQL Server引入文件组(filegroups)是为了简单的管理与分配数据(data)文件。同时,合理正确的使用SQL Server文件组可提升数据库的性能,如将数据、非聚集索引分别存放在不同的文件组中并存放在不同的物理磁盘上(注意:聚集索引是数据的一部分)。
默认情况下,所有的数据与索引均放置在primary filegroup中,除非创建了一个新的filegroup,并进行使用。SQL Server有两种类型的文件组:
1. Primary
2. User-defined
下图所示是检查数据库默认的文件组
这里首先区分一个概念:primary文件组(primary filegroup)与primary文件(primary file),即要区分文件组与文件的不同。我们在“跟我一起学Microsoft SQL Server 2012 Internals(3.2)”中简单提到了primary data file,即.mdf文件。而这里的filegroup是基于文件(file)基础上的一个概念。更多的内容可查看MSDN文章“Files and Filegroups Architecture”。
那么我们应该在什么时候使用多个文件,什么时候使用多个文件组?简单来说,使用多个文件可以方便的管理数据恢复或移动数据。
下图所示对数据库使用默认primary文件组,但设置了多个文件:
而在备份时可选择某个文件进行单独备份:
而当用户想使用SQL Server的数据与索引分区功能时,才有使用文件组(filegroups)的必要,关于SQL Server的分区相关知识可查看MSDN中“Partitioned Tables and Indexes in SQL Server 2005”。
另需注意: