我有一個.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