添加和删除数据文件和事务日志文件
可以添加数据和事务日志文件以扩展数据库,也可以删除它们以减少数据库中的文件数。
重要提示: |
---|
SQL Server 2005 数据和事务日志文件不能放置在压缩的文件系统中。但是,只读辅助文件组和只读数据库可以放置在使用 NTFS 文件压缩的文件系统中。有关详细信息,请参阅只读文件组和压缩。 |
SQL Server 对每个文件组内的所有文件使用按比例填充策略,并写入与文件中可用空间成比例的数据量。这可以使新文件立即投入使用。通过这种方式,所有文件通常可以几乎同时充满。但是,事务日志文件不能作为文件组的一部分;它们是相互独立的。事务日志增长时,使用填充到满的策略而不是按比例填充策略,先填充第一个日志文件,然后填充第二个,依此类推。因此,当添加日志文件时,事务日志无法使用该文件,直到其他文件已先填充。
添加文件
添加文件后,数据库可以立即使用该文件。向数据库添加文件时,可以指定文件的大小。如果没有为主文件提供大小,则数据库引擎将使用 model 数据库中的主文件的大小。如果指定了辅助数据文件或日志文件,但未指定该文件的大小,则数据库引擎将以 1 MB 作为该文件的大小。为主文件指定的大小至少应与 model 数据库的主文件大小相同。有关详细信息,请参阅 model 数据库。
如果文件中的空间已用完,可以设置该文件应增长到的最大大小。如果需要,还可以设置文件增长的增量。如果未指定文件的最大大小,那么文件将无限增长,直到磁盘已满。如果未指定文件增量,则数据文件的默认增量为 1 MB,日志文件的默认增量为 10%。最小增量为 64 KB。
可以指定文件所属的文件组。文件组是文件的命名集合,用于简化数据存放和管理任务(例如,备份和还原操作)。有关详细信息,请参阅使用文件和文件组。
删除文件
删除数据或事务日志文件将从数据库中删除该文件。只有文件中没有数据或事务日志信息时,才可以从数据库中删除文件;文件必须完全为空,才能够删除。若要通过将数据从数据文件移至同一文件组的其他文件来清空数据文件,请使用 DBCC SHRINKFILE 语句并指定 EMPTYFILE 子句。由于执行收缩操作之后数据库引擎不再允许将数据放置在文件中,因此,可以使用 ALTER DATABASE 语句或 SQL Server Management Studio 删除空文件。
将事务日志数据从一个日志文件移至另一个日志文件不能清空事务日志文件。若要从事务日志文件中删除不活动的事务,必须截断或备份该事务日志。事务日志文件不再包含任何活动或不活动的事务时,可以从数据库中删除该日志文件。有关详细信息,请参阅管理事务日志。
重要提示: |
---|
添加或删除文件后,请立即创建数据库备份。在创建完整的数据库备份之前,不应该创建事务日志备份。 |
将数据或日志文件添加到数据库或从中删除数据或日志文件
- ALTER DATABASE (Transact-SQL)
- 如何向数据库中添加数据或日志文件 (SQL Server Management Studio)
- 如何删除数据库中的数据或日志文件 (SQL Server Management Studio)
请参阅
任务
如何收缩文件 (SQL Server Management Studio)
概念
其他资源
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
sys.data_spaces (Transact-SQL)
sys.filegroups (Transact-SQL)
DBCC SHRINKFILE (Transact-SQL)
了解事务日志体系结构