我有一个数据库备份,SQL Server Management Studio 说它包含三个文件:一个.mdf
文件、一个.ndf
文件和一个.ldf
文件。这个辅助数据文件(那个.ndf
)是没有明显原因创建的,所以我想完全删除它(当然不会丢失数据),最好是在从备份恢复数据库期间。
这完全可行吗?
我有一个数据库备份,SQL Server Management Studio 说它包含三个文件:一个.mdf
文件、一个.ndf
文件和一个.ldf
文件。这个辅助数据文件(那个.ndf
)是没有明显原因创建的,所以我想完全删除它(当然不会丢失数据),最好是在从备份恢复数据库期间。
这完全可行吗?
好的,找到了解决方案。
首先备份数据库。
执行这个:
USE database_name;
然后执行此操作,并替换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;
我在成功加载生产过程中运行了空,然后运行了 ndf drop。我认为在与空相同的事务中运行 drop ndf 很重要,以确保数据库不会尝试写入您要删除的文件,但是在清空之后,数据库将文件标记为不可用,这可以通过尝试另一个来证明很快就空了。