使用文件和文件组管理数据库增长

创建数据库时,必须指定数据和日志文件的初始大小,或采用默认大小。随着数据不断地添加到数据库,这些文件将逐渐变满。然而,如果添加到数据库中的数据多于文件的容量,就需要考虑数据库在超过所分配初始空间的情况下是否增长以及如何增长。

默认情况下,数据文件根据需要一直增长,直到没有剩余的磁盘空间。因此,如果不希望数据库文件的大小增长到大于创建时的初始值,则必须在使用 SQL Server Management Studio 或 CREATE DATABASE 语句创建数据库时指定其大小。

另外,SQL Server 使您可以创建在填充数据时能够自动增长的数据文件,但只能增长到预定义的最大值。这可以防止完全耗尽磁盘驱动器的空间。

建议

在创建数据库时,请根据数据库中预期的最大数据量,创建尽可能大的数据文件。允许数据文件自动增长,但要有一定的限度。为此,需要指定数据文件增长的最大值,以便在硬盘上留出一些可用空间。这样便可以使数据库在添加超过预期的数据时增长,而不会填满磁盘驱动器。如果已经超过了初始数据文件的大小并且文件开始自动增长,则重新计算预期的数据库大小最大值。然后,根据计划添加更多的磁盘空间,如果需要,在数据库中创建并添加更多的文件或文件组。

然而,如果假定不使数据库增长到超过其初始值,请将数据库增长的最大值设置为零。这将防止数据库文件增长。如果数据库文件已填满数据,那么只有为数据库添加更多的数据文件或扩展现有的文件后,才能添加更多的数据。

文件碎片

如果若干文件共享同一个磁盘,则让文件自动增长可能会导致那些文件产生碎片。因此,应尽可能的在不同的本地物理磁盘上创建文件或文件组。此外,还要将争夺空间最激烈的对象放置在不同的文件组中。