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

发布于

在 SQL Server 中,数据库将其数据和对象(如表、视图、存储过程等)存储在文件中。使用默认选项创建数据库时,将创建一个数据文件和一个日志文件。但是,您不仅限于每个文件中的一个。如果需要,可以在以后将数据文件(和日志文件)添加到数据库中。

本文包含使用 T-SQL 将数据文件添加到 SQL Server 中的现有数据库的示例。

示例

下面是将单个数据文件添加到现有数据库的示例:

USE master;
GO

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

这将添加一个逻辑名称为 Solutions_dat_2 且物理路径为 (这是计算机上的物理位置)的数据文件。/var/opt/mssql/data/Solutions_dat_2.ndf

请注意,此示例使用 Linux/Mac 文件路径。如果使用 Windows,则需要使用反斜杠 () 而不是正斜杠 ()。\``/

下面是此示例中使用的各种参数的说明:

NAME

指定逻辑文件名。这是引用文件时在 SQL Server 实例中使用的逻辑名称。

FILENAME

这是文件的完整物理路径(即操作系统的文件路径)。

SIZE

指定文件大小。可以以 KB、MB、GB 或 TB 为单位指定。

MAXSIZE

文件可以增长到的最大文件大小。可以以 KB、MB、GB、TB 或无限制为单位指定。

FILEGROWTH

文件的自动增长增量(每次需要新空间时添加到文件的空间量)。可以以 KB、MB、GB、TB 或 % 为单位指定。

默认值为(以兆字节为单位)。MB

检查结果

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

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_dat_2.ndf

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

当然,如果您愿意,您也可以使用星号 () 返回所有列。*

如果您发现有一天不再需要它,您可以随时删除新的数据文件。