在SQL Server中,每个数据库至少拥有两个操作系统文件:一个数据文件和一个日志文件。
数据文件包含数据和对象;例如数据库表( table),索引( index)、存储过程( storage)、触发器( trigger)和视图(view)等。
日志文件包含数据库中所有更新事务的全部信息,用于恢复数据库。为了便于分配和管理,可以将数据文件集合成若干文件组。在创建数据库对象之前应首先创建数据库。
数据库文件:SQL Server数据库具有三种类型的文件。
主要数据文件:主要数据文件( primary data file)包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是. mdf。
次要数据文件:次要数据文件(no-primary data file)是可选的,由用户定义并存储用户数据。将数据库中的数据分散在不同的文件中有两个好处。其一,次要文件可用于将数据分散到多个磁盘上,这样系统就可以同时对多个硬盘做存取,加快数据处理的速度,提高系统工作效率。其二,如果数据库超过了单个Windows文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。次要数据文件的建议文件扩展名是. ndf。
事务日志文件:事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志的建议文件扩展名是.ldf。
在SQL Server 2005中,数据库中所有文件的位置都记录在数据库的主文件和master系统数据库中。大多数情况下,数据库引擎使用master数据库中的文件位置信息。
文件组:
文件组是指将构成数据库的数个文件集合起来组合成为一个个群体﹐并给定一个组名。当在数据库中创建数据库对象时,可以特别指定要将某些对象存储在某一特定的组上。SQL, Server 2005中的数据库可由数个文件组组成,其中一个称为主要文件组( primary filegroup),其他则由用户定义,称为非主要文件组。当创建数据库时,主要文件
组包含有主要数据文件和未指定加人组的其他文件,该数据库所属的系统表(systemtable)也是建立在主要文件组上。在其他非主要文件组中,用户可指定其中一个为默认文件组(default filegroup),当用户在数据库上创建对象时,如果未指明该对象要建立在哪一个文件组时,系统会将该对象建立在默认文件组上。默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。如果没有默认文件组的话,则主要文件组为默认的文件组。使用文件组的目的也是为提高执行效率。
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/244523.html