C-Sharp

恢復數據庫總是拋出異常

  • January 2, 2012

我正在嘗試將一些數據庫備份文件恢復到同一個數據庫中。該.bak文件總是在製造問題。當我.bak從網路驅動器中選擇文件時,"\\TestPC\ShareFolder\test.bak"它可以正常工作。

但是,.bak如果我通過將本地驅動器複製到我的電腦來選擇相同的文件,C:\TestPath\test.bak那麼每次拋出異常時都會說

無法打開備份設備“C:\TestPath\test.bak”。作業系統錯誤3(系統找不到指定的路徑。)。

RESTORE DATABASE 異常終止。

我不知道它為什麼會拋出,我也將 SQL Server 登錄從網路驅動器更改為本地連接。仍然無法正常工作。有人可以提示我如何解決這個問題嗎?

例如,如果您想將*.bak文件恢復到機器上TESTSERVER,那麼該*.bak文件需要

  • 在 的本地驅動器上TESTSERVER,或:
  • TESTSERVER可以到達的網路共享上(“公共”共享)

因此,如果您*.bak在本地 PC 上有該文件MyPC,您可以嘗試從中進行還原\\MyPC\C$\ShareFolder\Backupfile.bak,這可能會或可能不會起作用。

但是您不能使用C:\ShareFolder\Backupfile.bak,因為它會轉到伺服器的C:\ 驅動器並查找該文件 - 因此您會收到錯誤消息並且無法找到它。

畢竟:您的 SQL Server 實例正在執行TESTSERVER- 因此,如果該程序從 C:\ 驅動器執行還原,那將是該伺服器電腦上的 C:\ 驅動器-而不是您的本地 PC!如果該伺服器程序TESTSERVER可以訪問您的電腦,那麼您可以使用本地磁碟的 UNC 路徑表示法 - 這樣可能會起作用。

引用自:https://dba.stackexchange.com/questions/10011