SQL Server 文件组
一.文件组概念
1.提高性能
2.方便管理
- 文件组可以在创建数据库之时创建,也可以在后期文件比较多的时候创建
- 文件不能在文件组之间移动
- 文件只能属于一个文件组
- 文件组只能包含数据文件 (不能包含log文件)
- 文件组最好是对应不同的物理磁盘
- 在Join查询中的表,最好是分开不同的文件组
- 对于经常需要访问的表,应该独立分开不同的文件组
可以把规律变化的表放到你的主要文件组内,把历史的或存档表放到一个存档文件组里,可以每天备份主要文件组,
一个星期或一个月备份一次存档文件组。把经常更新的数据和基本不变的数据分开,方便局部数据备份和恢复。
SQL Server数据库中读取和存储数据时,并不以数据文件为单位,而是以文件组为单位进行操作。数据库中的每个对象都存储在某个文件组(而不是数据文件)上,每个文件组包换至少一个数据文件。
二.如何设置文件组(见下图)
*不同的文件组放置在不同的磁盘分区中
三.如何分配
在数据库中创建好FileGroup后,将新建的数据文件分配到不同的FileGroup中,在新建数据表时,可以指定此表存储到到文件组,见下图:
在上图中的Filegroup中指定要目标文件组,这样就可达到根据实际需要及性能要求将不同的表存储在不同的文件组(磁盘分区)中。
附:查看数据库文件组的语句
SELECT df.[name], df.physical_name, df.[size], df.growth, f.[name]
[filegroup], f.is_default
FROM sys.database_files df
JOIN sys.filegroups f
ON df.data_space_id = f.data_space_id