我有一个.mdf文件和两个相同mdf文件的.ndf文件。是否可以将这些文件合并为一个.mdf文件而不丢失任何数据?
答案 0 :(得分:2)
是的,您可以使用Empty
选项使用 DBCC SHRINKFILE
EMPTYFILE :(强调我的重点)
将指定文件中的所有数据迁移到相同文件组中的其他文件。换句话说,EmptyFile会将数据从指定文件迁移到同一文件组中的其他文件。 Emptyfile确保您不会将新数据添加到文件中。
可以使用ALTER DATABASE语句删除该文件。
示例:
DBCC SHRINKFILE (nameofdatafile, EMPTYFILE);
GO
-- Remove the data file from the database.
ALTER DATABASE AdventureWorks2012
REMOVE FILE Test1data;
GO
答案 1 :(得分:0)
感谢@TheGameiswar的回答。
如果你有例如file1.mdf,file2.ndf和file3.ndf
将它们合并到一个文件中的方法:
DBCC SHRINKFILE(file2, EMPTYFILE);
GO
DBCC SHRINKFILE(file3, EMPTYFILE);
GO
然后你可以安全地删除它们:
ALTER DATABASE MyDB
REMOVE FILE file2;
GO
ALTER DATABASE MyDB
REMOVE FILE file3;
GO
file1将包含之后的整个数据。