1

我有一個.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文件,都是中密度纖維板

回答

2

這聽起來像你需要將數據從輔助mdf(不是ndf?)移動到第一個。這一切都假定你已經完成了恢復。

假設你的2個文件是m1m2。使用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 
+0

它不是NDF,這是中密度纖維板... – 2010-12-22 19:54:40

1

使用多個文件在數據庫有助於在多個磁盤驅動器分佈數據庫。

恢復數據庫時不能更改文件數量,但可以指示文件的恢復位置。查看RESTORE DATABASE命令,MOVE選項。

數據庫還原後,您可以刪除數據庫文件。您必須將文件縮小至empty file。然後,您可以使用ALTER DATABASE命令刪除文件。

相關問題