我有一個bak文件(這是一個SQL服務器的快速2005 mdf文件的備份數據庫文件),我應該獲得MDF文件,以便我可以在它的表上工作,我可以從這個bak文件中獲得原始的MDF文件嗎?我正在使用Visual Studio 2012,是否有必要擁有管理工作室?我試圖將這個bak文件恢復到另一個包含Sql server express management studio 2008的系統中的空數據庫,但它說數據庫不匹配,出了什麼問題?從bak文件恢復原始的MDF文件
回答
如果您創建了空白數據庫,要使用備份覆蓋此數據庫,您需要指定WITH REPLACE參數。
此外,您可能必須指定MOVE參數才能將文件放入正確的位置。
你應該能夠很容易地找到在GUI這些選項在做恢復的時候,或者你也可以編寫腳本,這也使這裏使用參考:
How to: Restore a Database to a New Location and Name (Transact-SQL)
請記住,恢復數據庫備份文件不會給出原始的MDF(和LDF)文件。獲取原始MDF文件的唯一方法是複製它 您可以在Visual Studio中執行由steoleary建議的T-SQL,在此處查看更多:How to: Run SQL Scripts in Solution Explorer。您也可以在SQL Server管理Studio中執行此操作。
您創建的空白數據庫沒有多大幫助,除非要將備份同步到它。但爲此,您需要第三方工具
首先,執行以下步驟以找出備份中的邏輯文件名。這個例子是存儲在電子名爲TestFull.bak備份:\測試
RESTORE FILELISTONLY
FROM DISK = 'E:\Test\TestFull.bak'
GO
的邏輯名稱應在下一腳本中使用。此外,更新使用的路徑和名稱
RESTORE DATABASE YourDB
FROM DISK = 'E:\Test\TestFull.bak'
WITH MOVE 'test1' TO 'E:\test\TestMDFFile.mdf',
MOVE 'test1_log' TO 'E:\test\TestLDFFile.ldf'
運行命令,感謝Milena,我已經使用Management Studio獲得了MDF文件,但實際上我應該通過代碼來執行這個操作,即我的用戶應該能夠從bak文件讀取數據,所以我應該能夠通過代碼從bak文件恢復MDF,然後連接到MDF並讀取數據庫,如何在C#代碼中執行此操作?有沒有樣品? –
@Ali_dotNet我不能幫助C#:( –
好吧,你使用另一種語言嗎? –
- 1. 恢復.bak文件
- 2. 的SQL Server 2014恢復.bak文件
- 3. 微軟SQL Server 2005恢復.bak文件
- 4. 打開SQL Server .bak文件(不恢復!)
- 5. 將文件恢復到原始位置
- 6. SQL Server 2008恢復MDF和LDF文件
- 7. 從.bak文件
- 8. 從另一臺機器上的.bak文件恢復數據庫
- 9. TortoiseGit - 一個文件夾恢復到原始文件
- 10. 轉換一個MS SQL 2008 .mdf文件到.bak文件
- 11. 修復MDF文件
- 12. Webmatrix&Umbraco:從.bak文件恢復數據庫
- 13. 如何從.bak文件恢復數據庫?
- 14. 當從.bak文件恢復SQL DB時,所有表都丟失
- 15. 從.bak文件使用c恢復sql server 2008數據庫#
- 16. 使用新名稱從.bak文件恢復數據庫
- 17. 使用腳本從bak文件恢復最新備份
- 18. 需要幫助恢復多個數據庫/ BAK文件從一個文件夾
- 19. 從原始物理文件恢復postgreSQL數據庫
- 20. 如何從.bak文件中恢復C#windows應用程序中的.mdf數據庫
- 21. 從mdf文件中恢復數據(ndf丟失)
- 22. 從恢復打開SQL Server .mdf和.ldf文件
- 23. 如何恢復MySQL服務器中的.bak文件?
- 24. 複製SQL MDF文件
- 25. 錯誤時從.bak文件
- 26. 錯誤從.bak文件
- 27. 數據庫安裝方法 - 附加MDF或恢復BAK
- 28. 恢復補丁創建時刪除的原始文件
- 29. 查詢是否將.bak文件恢復到新數據庫?
- 30. 如何在SQL Server 2008 R2中恢復.bak文件
謝謝,但我怎麼能通過代碼執行此操作?我應該在哪裏運行鏈接中提供的代碼示例?我應該創建一個SQLCommand對象並運行這些腳本? –
你可以這樣做,或者你可以在SQL管理工作室 – steoleary