2012-05-30 103 views
15

我的本地計算機中有一個test.bak文件。我需要將此文件恢復到遠程機器的數據庫。我怎麼做?將.bak文件還原到遠程數據庫

當我嘗試這樣做時,遠程數據庫拋出一個錯誤,它無法在本地文件系統上找到test.bak

查詢

RESTORE DATABASE TESTPROJECT 
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ICON3\MSSQL\Backup\test.bak' 

錯誤

Cannot open backup device 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ICON3\MSSQL\Backup\test.bak'. Operating system error 2(The system cannot find the file specified.). 

我怎樣才能做到這一點?我正在使用Microsoft SQL Server 2008.

+0

有U指的是本地路徑或恢復.bak文件服務器的路徑? – praveen

+1

基本上,'.bak'文件需要在該計算機上的一個磁盤上**運行SQL Server軟件。您無法通過在本地硬盤上創建'.bak'文件來恢復到遠程服務器。 –

回答

18

在此答案的上下文中 - remote指向您的機器,local是數據庫服務器。


local文件系統

將備份文件複製到文件系統local恢復,並直接從該副本還原。

先決條件

  • 複製test.bakC:\test.bak服務器上

語法

RESTORE DATABASE TESTPROJECT FROM DISK = N'C:\test.bak'; 

remote文件系統

恢復或者您可以使用UNC syntaxremote備份文件進行恢復。我通常不使用此選項,但如果備份文件和還原數據庫的文件系統上沒有足夠的磁盤空間,則此選項非常有用。

此選項的成功取決於某些變量 - 分配給數據庫服務帳戶的remote文件系統的權限,網絡運行狀況等。

先決條件

  • Remote機器名是remotemachine
  • 備份位於remote'C:\test.bak'
  • 數據庫服務帳戶可以訪問remote管理員份額C$

語法

RESTORE DATABASE TESTPROJECT FROM DISK = N'\\remotemachine\c$\test.bak'; 
+1

嗨布萊恩,如果出現「訪問被拒絕」並且文件與所有人共享,我該如何做到這一點? –