限制:
1.backup语句正在运行时,不能添加或删除文件
2.可以为每个数据库指定最多32767个文件和32767个文件组
一、新增文件之前查看
use test select file_id, file_guid, type, type_desc, data_space_id, name, physical_name, state, state_desc from sys.database_files SELECT * FROM sys.filegroups;
二、新增文件
1.使用 SQL Server Management Studio向数据库添加数据文件或日志文件
1.1 在"对象资源管理器"中,连接到一个 SQL Server 数据库引擎实例,然后展开该实例。
1.2 展开"数据库",右键单击要从中添加文件的数据库,然后单击"属性"。
1.3 在 "数据库属性" 对话框中,选择 "文件" 页。
1.4 若要添加数据或事务日志文件,请单击 "添加"。
1.5 在 "数据库文件" 网格中,输入文件的逻辑名称。 该文件名在数据库中必须唯一。
1.6 选择文件类型:行数据或日志。
1.7 对于数据文件,从列表中选择应包含该文件的文件组,或选择"<新文件组>"来创建新的文件组。 事务日志不能放在文件组中。
1.8 指定文件的初始大小。 根据数据库中您希望的最大数据量,使数据文件尽可能大。
1.9 若要指定文件的增长方式,请在"自动增长"列中单击 (…)。 从以下选项中进行选择:
(1)若要允许当前选中的文件根据数据空间量的需求增加而增长,请选中 "启用自动增长" 复选框,然后从下列选项中进行选择:
(2)若要指定文件按固定增量增长,请选择 "按 MB" 并指定一个值。
(3)若要指定文件按当前文件大小的百分比增长,请选择 "按百分比" 并指定一个值。
1.10 若要指定最大文件大小限制,请从下列选项中进行选择:
(1)若要指定文件能够增长到的最大大小,请选择"限制文件增长(MB)"并指定一个值。
(2)若要允许文件根据需要增长,请选择 "不限制文件增长"。
(3)若要防止文件增长,请清除 "启用自动增长" 复选框。 文件大小不会增长到超过"初始大小(MB)"列中指定的值。
1.11 指定文件位置的路径。 指定的路径必须存在才能添加文件。
默认情况下,数据和事务日志放在相同的驱动器和路径中以适应单磁盘系统,但这对于生产环境可能并非最佳方式。 有关详细信息,请参阅 数据库文件和文件组。
1.12 单击"确定"。
2.使用 Transact-SQL 向数据库添加数据文件
(1)向数据库中添加由两个文件组成的文件组
USE master GO ALTER DATABASE test ADD FILEGROUP Test1FG1; GO ALTER DATABASE test ADD FILE ( NAME = test1dat3, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\t1dat3.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ), ( NAME = test1dat4, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\t1dat4.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) TO FILEGROUP Test1FG1; GO
(2)向数据库中添加文件
USE master; GO ALTER DATABASE test ADD FILE ( NAME = Test1dat2, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\t1dat2.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ); GO
更多的操作,可以参考官方文档:
https://learn.microsoft.com/zh-cn/sql/t-sql/statements/alter-database-transact-sql-file-and-filegroup-options?view=sql-server-ver16