是否可以将 ndf 文件和 mdf 文件合并为一个 mdf 文件?
Is it possible to merge ndf files and mdf file into one single mdf file?
我有一个 .mdf 文件,以及同一个 mdf 文件的两个 .ndf 文件。是否可以在不丢失任何数据的情况下将这些文件合并为一个 .mdf 文件?
是的,您可以使用 DBCC SHRINKFILE 和 Empty
选项
EMPTYFILE:(Emphasis in bold Mine)
Migrates all data from the specified file to other files in the same filegroup. In other words, EmptyFile will migrate the data from the specified file to other files in the same filegroup. Emptyfile assures you that no new data will be added to the file.
The file can be removed by using the ALTER DATABASE statement.
示例:
DBCC SHRINKFILE (nameofdatafile, EMPTYFILE);
GO
-- Remove the data file from the database.
ALTER DATABASE AdventureWorks2012
REMOVE FILE Test1data;
GO
感谢@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 将包含之后的全部数据。
我有一个 .mdf 文件,以及同一个 mdf 文件的两个 .ndf 文件。是否可以在不丢失任何数据的情况下将这些文件合并为一个 .mdf 文件?
是的,您可以使用 DBCC SHRINKFILE 和 Empty
选项
EMPTYFILE:(Emphasis in bold Mine)
Migrates all data from the specified file to other files in the same filegroup. In other words, EmptyFile will migrate the data from the specified file to other files in the same filegroup. Emptyfile assures you that no new data will be added to the file.
The file can be removed by using the ALTER DATABASE statement.
示例:
DBCC SHRINKFILE (nameofdatafile, EMPTYFILE);
GO
-- Remove the data file from the database.
ALTER DATABASE AdventureWorks2012
REMOVE FILE Test1data;
GO
感谢@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 将包含之后的全部数据。