删除(合并)SQL Server的数据库辅助数据文件

Ant*_*lev 13 data-files database-restore sql-server-2008

我有一个数据库备份,SQL Server Management Studio说它有三个文件:一个.mdf文件,一个.ndf文件和一个.ldf文件.这个辅助数据文件(.ndf一个)是在没有明显原因的情况下创建的,因此我想完全删除它(当然不会丢失数据),最好是在从备份恢复数据库的过程中.

这一切都可行吗?

Ant*_*lev 14

好的,找到了解决方案.

首先备份数据库.

执行:

USE database_name;
Run Code Online (Sandbox Code Playgroud)

然后执行此操作,并替换logical_ndf_file_name为NDF文件的逻辑名称(您可以通过Database-> Properties_Files轻松找到它):

DBCC SHRINKFILE('logical_ndf_file_name', EMPTYFILE);
ALTER DATABASE database_name REMOVE FILE logical_ndf_file_name;
Run Code Online (Sandbox Code Playgroud)

  • 在这里添加一些说明,上面代码行中的“ndf_file_name”指的是逻辑文件名,而不是物理文件名。这对我来说并不是很清楚。 (2认同)