数据库文件和文件组
数据库文件和文件组
SQL Server 2014
<?XML:NAMESPACE PREFIX = "[default] http://www.w3.org/1999/xhtml" NS = "http://www.w3.org/1999/xhtml" />每个 SQL Server 数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。 数据文件包含数据和对象,例如表、索引、存储过程和视图。 日志文件包含恢复数据库中的所有事务所需的信息。 为了便于分配和管理,可以将数据文件集合起来,放到文件组中。
每个数据库有一个主要文件组。 此文件组包含主要数据文件和未放入其他文件组的所有次要文件。 可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。
例如,可以分别在三个磁盘驱动器上创建三个 文件 Data1.ndf、Data2.ndf 和 Data3.ndf, 然后将它们分配 给文件组 fgroup1。 然后,可以明确地在文件组fgroup1 上创建一个表。 对表中数据的查询将分散到三个磁盘上,从而提高了性能。 通过使用在 RAID(独立磁盘冗余阵列)条带集上创建的单个文件也能获得同样的性能提高。 但是,文件和文件组使您能够轻松地在新磁盘上添加新文件。
下表列出了存储在文件组中的所有数据文件。
文件组
说明
主要
包含主要文件的文件组。 所有系统表都被分配到主要文件组中。
用户定义
用户首次创建数据库或以后修改数据库时明确创建的任何文件组。
默认文件组
如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。 不管何时,只能将一个文件组指定为默认文件组。 默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。
PRIMARY 文件组是默认文件组,除非使用 ALTER DATABASE 语句进行了更改。 但系统对象和表仍然分配给 PRIMARY 文件组,而不是新的默认文件组。
CREATE DATABASE (SQL Server Transact-SQL)