如何将日志文件添加到 SQL Server 数据库 (T-SQL)

发布于

使用默认选项在 SQL Server 中创建数据库时,将创建一个数据文件和一个日志文件。数据文件存储数据和数据库对象(如表、视图、存储过程等)。日志文件存储恢复数据库中的所有事务所需的信息。如果您的数据库不断增长,您可能会发现自己需要添加新的日志文件(和/或数据文件)。

正如可以向 SQL Server 中的现有数据库添加更多数据文件一样,也可以添加更多日志文件。但是,语法略有不同,具体取决于您是创建数据文件还是日志文件。添加数据文件需要,而添加日志文件需要 。ADD FILE``ADD LOG FILE

本文演示如何使用 T-SQL 将日志文件添加到 SQL Server 中的现有数据库。

示例

若要将日志文件添加到现有数据库,请使用带有参数的语句。提供新日志文件的详细信息并运行该语句。ALTER DATABASE``ADD LOG FILE

下面是一个示例:

USE master;
GO

ALTER DATABASE Solutions
ADD LOG FILE (
NAME = Solutions_log_2,
FILENAME = ‘/var/opt/mssql/data/Solutions_log2.ldf’,
SIZE = 10MB,
MAXSIZE = 100MB,
FILEGROWTH = 5%
); GO

这会将逻辑名称为 的日志文件添加到数据库中。我们指定物理路径为 。请注意,此路径使用 Linux/Mac 语法。如果使用 Windows,则需要使用适用的语法(反斜杠而不是正斜杠)。Solutions_log_2``Solutions``/var/opt/mssql/data/Solutions_log2.ldf

检查结果

您可以通过运行以下查询来检查结果:

USE Solutions;
GO

SELECT name, physical_name
FROM sys.database_files;
GO

输出:

name             physical_name                         
---------------  --------------------------------------
Solutions        /var/opt/mssql/data/Solutions.mdf     
Solutions_log    /var/opt/mssql/data/Solutions_log.ldf 
Solutions_dat_2  /var/opt/mssql/data/Solutions_dat2.ndf
Solutions_dat_3  /var/opt/mssql/data/Solutions_dat3.ndf
Solutions_log_2  /var/opt/mssql/data/Solutions_log2.ldf

除了原始日志文件(以及各种数据文件)之外,我们还可以看到列出的新日志文件。

在此示例中,我只选择要显示的视图的两列。如果您愿意,还可以使用星号 () 返回所有列。sys.database_files``*