2016-12-05 72 views
0

我想恢復託管在Linux VM上的SQL服務器上的數據庫備份。備份文件放置在Windows文件系統網絡路徑中。我安裝在linux/home/user中該路徑/ WINMAP/恢復在Linux上託管的SQL服務器上的備份虛擬機

現在,當我試圖使用恢復屏幕來恢復數據庫備份,我看到像

C中的路徑:\ VAR \選擇\ MSSQL \數據

。我不能在那裏看到我的安裝路徑是

/家庭/用戶/ WINMAP/

,這樣我可以恢復我的備份。

任何想法如何處理SQL Server中的Linux文件系統將不勝感激。

TIA

+0

請問Linux上的SQL用戶可以訪問路徑? – MihaelaBlendea

+0

我不太瞭解Linux,因此可能需要對此進行研究。安裝SQL服務器的用戶有權訪問路徑,一定有權訪問。 –

回答

1

不使用SSMS ..以及使用參考從這裏開始:Restore a SQL Server database from Windows to Linux

下一步,一旦你放置備份文件在Linux中備份文件移動到/var/opt/mssql

這可能是使用

移動備份文件 此時,備份文件位於Linux服務器上。在將數據庫恢復到SQL Server之前,您必須將備份放置在/ var/opt/mssql的子目錄中。

在包含備份的目標Linux機器上打開終端。

進入超級用戶模式。

須藤蘇

創建一個新的備份目錄。如果該目錄已經存在,則-p參數不執行任何操作。

mkdir -p /var/opt/mssql/backup 

移動備份文件到該目錄。在以下示例中,備份文件駐留在user1的主目錄中。更改命令以匹配您計算機上AdventureWorks2014.bak的位置。

mv /home/user1/AdventureWorks2014.bak /var/opt/mssql/backup/ 

退出超級用戶模式。

exit 

現在恢復,你必須使用SQLCMD ..

在同一個終端,推出SQLCMD。以下示例使用SA用戶連接到本地SQL Server實例。提示時輸入密碼或使用-P參數指定密碼。

sqlcmd -S localhost -U SA 

連接後,進入下面的RESTORE命令DATABSE,每一行後按ENTER鍵。下面的示例恢復/var/opt/mssql/backup directory中的AdventureWorks2014.bak文件。

RESTORE DATABASE AdventureWorks 
FROM DISK = '/var/opt/mssql/backup/AdventureWorks2014.bak' 
WITH MOVE 'AdventureWorks2014_Data' TO '/var/opt/mssql/data/AdventureWorks2014_Data.mdf', 
MOVE 'AdventureWorks2014_Log' TO '/var/opt/mssql/data/AdventureWorks2014_Log.ldf' 
GO 
+0

感謝您的幫助!我的要求是從網絡位置恢復備份。基本上我們有大量的備份存儲在一個集中的網絡位置。在VM上覆制它們會花費我們寶貴的磁盤空間。 –

相關問題