SQLSERVER 2008文件组-sql文件

文件组的解释

每个数据库有一个主数据文件和若干个从文件。文件组可以包括分布在多个逻辑分区的文件,实现负载平衡。文件组允许对文件进行分组,以便于管理和数据的分配/放置。

例如,可以分别在三个硬盘驱动器上创建三个文件(D1.ndf、D2.ndf 和 D3.ndf),并将这三个文件指派到文件组 filegroup1 中。然后,可以明确地在文件组 filegroup1 上创建一个表。对表中数据的查询将分散到三个磁盘上,因而性能得以提高。在 RAID(磁盘冗余阵列)条带集上创建单个文件也可以获得相同的性能改善。然而,文件和文件组使您得以在新磁盘上轻易地添加新文件。另外,如果数据库超过单个 Windows 文件的最大大小,则可以使用次要数据文件允许数据库继续增长。

SQL SERVER会根据每个文件设置的初始大小和增长量会自动分配新加入的空间,假设在同一文件组中的文件A设置的大小为文件B的两倍,新增一个数据占用三页(Page),则按比例将2页分配到文件A中,1页分配到文件B中.

对于用户角度来说,需对创建的对象指定存储的文件组只有三种数据对象:表,索引和大对象(LOB) 。使用文件组可以隔离用户和文件,使得用户针对文件组来建立表和索引,而不是实际磁盘中的文件。当文件移动或修改时,由于用户建立的表和索引是建立在文件组上的,并不依赖具体文件,这大大加强了可管理性.

文件组的创建

一个文件不能是多个文件组的成员。表、索引和大型对象 (LOB) 数据可与特定的文件组关联。这意味着它们的所有页都将从该文件组的文件中分配。

最多可以为每个数据库创建 32,767 个文件组。文件组只能包含数据文件。事务日志文件不能是文件组的一部分。

文件组不能独立于数据库文件创建。文件组是在数据库中组织文件的一种管理机制。

SQLSERVER 2008文件组

SQLSERVER 2008文件组

SQLSERVER 2008文件组

推荐阅读