数据库是SQL Server用于存储对象(如表、索引、触发器、视图、存储过程等)的逻辑实体。SQL
Server的数据库由一套操作系统文件组成。数据库中的所有对象都存储在这些操作系统文件中。这些文件可以组成一个文件组,称为数据库文件组。使用的操作系统文件包括主数据文件、辅助数据文件、日志文件三大类。 ・ 主数据文件: 存储指向其他数据库文件的指针和启动信息。每个数据库必须包含一个也只能包含一个主数据文件。主数据文件的扩展名是.mdf。 ・ 辅助数据文件: 所有不适合存储在主数据文件中的数据都存储在辅数据文件中。如果主数据文件可以包含所有的数据,可不用辅助数据文件。大规模的数据库可以有分布在多个磁盘驱动器上的辅助数据文件。辅助文件的扩展名为.ndf。 ・ 日志文件:存储数据库的事务日志信息。必要时利用日志恢复数据库。每个数据库至少需要一个日志文件,日志文件的扩展名为.ldf。SQL Server通常是先写日志再进行数据库修改。因此如果数据库系统崩溃,只要保留有完整的日志文件,仍然可以完成对数据库的修复和重建。 由于数据文件是实际存放数据、索引等数据库对象的地方,因此产生数据库时要认真考虑实际使用时对数据量的需求,以便为将来增加数据库对象存放提供更大的空间。当然,数据文件也不宜设置过大,巨大的数据文件会让SQL Server花费大量空间管理,从而降低使用效率。 ・ 数据存储单位: SQL Server 数据库文件按照系统定义的存储单位调整文件的大小,SQL Server 数据库使用的数据存储单位有: (1) 存储页(page):是SQL Server的基本数据存储单位,每页8KB (2) 范围(extent):一个范围是8个连续的存储页,是存储表或索引的基本单位。 (3) SQL Server可以自动调整数据库和日志文件的大小。 (4) 划分文件组:SQL Server把数据库文件在逻辑上分成组,把相关文件放入特定文件组中。文件组的类型分为: ・ 缺省组:存放主文件和其他文件。 ・ 用户定义的组:由Create命令中的File Group命令定义的数据文件。 |