1、数据库文件概念

数据库文件是SQLServer数据库的物理体现,和计算机的普通文件一样存储在计算机的磁盘空间当中。作为数据库记录和日志等其他信息的存储载体。

2、数据库文件分类

数据库文件主要包括主数据库文件、次要数据库文件、日志文件。

主数据库文件:包含数据库的启动信息,并指向数据库中的其他文件。数据记录和对象可存储在该文件中,也可以存储在次要数据文件中。每个数据库只能有一个主数据文件。主数据文件的建议文件扩展名是.mdf。

次要数据库文件:次要数据文件属于可选文件,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另如果数据库文件超过了单个Windows 文件的最大值,可以使用次要数据文件,这样数据库文件大小就可以继续增长。

通常情况下次要数据文件的建议文件扩展名是.ndf。

日志文件:事务日志文件用来存储恢复数据库的日志信息。每个数据库必须至少有一个日志文件。日志文件最小为512 KB,事务日志的建议文件扩展名是.ldf。

3、使用多个文件的优点和缺点:

优点

IO性能:数据量小的数据库不需要创建多个文件来分布数据,但随着业务数据的增长,采用多个文件分布数据到不同硬盘可以大大的提高IO性能

备份/恢复性能:多个文件对于数据量大的数据库来说,备份和恢复都很快。

缺点

需要占用更多的磁盘存储空间,因为每个数据库文件都有自己的一套B树和增长空间,还会产生一些磁盘碎片,从而造成磁盘空间的浪费。

4、查询数据库文件SQL语句

SELECT df.[name] 逻辑文件名,df.physical_name 物理文件名

,df.type_desc, df.[size] 文件大小KB, f.[name][filegroup],f.is_default

FROM sys.database_files df

LEFT JOIN sys.filegroups f ON df.data_space_id = f.data_space_id