我有一个.bak文件(SQL Server 2008),它包含2个mdf和2个ldf文件。如何使用2个mdf和2个ldf文件恢复数据库,只留下1个mdf/ldf对?
当我尝试从中恢复数据库时,它会创建所有这4个文件。
我从来没有见过这个,并想知道如何去古老的1文件对系统(1 mdf/1 ldf)?
任何关于备份中的2个文件对的见解也会有所帮助。
P.S:我的设置没有任何NDF文件,都是中密度纤维板
我有一个.bak文件(SQL Server 2008),它包含2个mdf和2个ldf文件。如何使用2个mdf和2个ldf文件恢复数据库,只留下1个mdf/ldf对?
当我尝试从中恢复数据库时,它会创建所有这4个文件。
我从来没有见过这个,并想知道如何去古老的1文件对系统(1 mdf/1 ldf)?
任何关于备份中的2个文件对的见解也会有所帮助。
P.S:我的设置没有任何NDF文件,都是中密度纤维板
这听起来像你需要将数据从辅助mdf(不是ndf?)移动到第一个。这一切都假定你已经完成了恢复。
假设你的2个文件是m1
和m2
。使用DBCC SHRINKFILE
移动并清空你的ndf。
--move all data out of this file
DBCC SHRINKFILE ('m2', EMPTYFILE)
您可能必须重新启动SQL Server in single user mode。 (source)
--if trying to delete LDF file, do a Transaction log backup of your DB now
--remove this file from the
ALTER DATABASE DB_NAME_HERE_NO_QUOTES REMOVE FILE m2
使用多个文件在数据库有助于在多个磁盘驱动器分布数据库。
恢复数据库时不能更改文件数量,但可以指示文件的恢复位置。查看RESTORE DATABASE命令,MOVE选项。
数据库还原后,您可以删除数据库文件。您必须将文件缩小至empty file。然后,您可以使用ALTER DATABASE命令删除文件。
它不是NDF,这是中密度纤维板... – 2010-12-22 19:54:40