我有一个数据库备份,SQL Server Management Studio说它有三个文件:.mdf
文件,.ndf
文件和一个.ldf
文件。这个辅助数据文件(.ndf
一个)是在没有明显原因的情况下创建的,所以我想完全删除它(当然不会丢失数据),最好是在从备份恢复数据库的过程中。
这一切都可行吗?
答案 0 :(得分:14)
好的,找到了解决方案。
首先备份数据库。
执行此操作:
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;
答案 1 :(得分:0)
我成功地在produciton加载期间运行了空,然后运行了ndf drop。我认为在与空相同的事务中运行drop ndf非常重要,以确保数据库不会尝试写入要删除的文件,但是在数据库空了之后,数据库会将文件标记为不可用,这可以通过尝试另一个来证明之后空虚。