数据库文件和文件组
05/29/2020
本文内容
适用于:
SQL Server(所有支持的版本)
每个 SQL Server 数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。 数据文件包含数据和对象,例如表、索引、存储过程和视图。 日志文件包含恢复数据库中的所有事务所需的信息。 为了便于分配和管理,可以将数据文件集合起来,放到文件组中。
数据库文件
SQL Server 数据库具有三种类型的文件,如下表所示:
文件
说明
主
包含数据库的启动信息,并指向数据库中的其他文件。 每个数据库有一个主要数据文件。 主要数据文件的建议文件扩展名是 .mdf。
辅助副本
用户定义的可选数据文件。 通过将每个文件放在不同的磁盘驱动器上,可将数据分散到多个磁盘中。 次要数据文件的建议文件扩展名是 .ndf。
事务日志
此日志包含用于恢复数据库的信息。 每个数据库必须至少有一个日志文件。 事务日志的建议文件扩展名是 .ldf。
例如,简单数据库“Sales”包括一个包含所有数据和对象的主要文件和一个包含事务日志信息的日志文件。 可以创建一个更复杂的数据库“Orders”,其中包括一个主要文件和五个次要文件。 数据库中的数据和对象分散在所有六个文件中,而四个日志文件包含事务日志信息。
默认情况下,数据和事务日志放在同一驱动器和路径上,以处理单磁盘系统。 对于生产环境,这可能不是最佳选择。 建议将数据和日志文件放在不同的磁盘上。
逻辑和物理文件名称
SQL Server 文件具有两种文件名类型:
logical_file_name: logical_file_name 是在所有 Transact-SQL 语句中引用物理文件时所使用的名称。 逻辑文件名必须符合 SQL Server 标识符规则,而且在数据库中的逻辑文件名中必须是唯一的。
os_file_name: os_file_name 是包括目录路径的物理文件的名称。 它必须符合操作系统文件命名规则。
重要
SQL Server 数据和日志文件可以保存在 FAT 或 NTFS 文件系统中。 由于 NTFS 在安全方面具有优势,因此,建议在 Windows 系统上使用 NTFS 文件系统。
警告
NTFS 压缩文件系统不支持读/写数据文件组和日志文件。 仅允许只读数据库和只读次要文件组保存在 NTFS 压缩文件系统中。
为了节省空间,强烈建议使用数