之前都是使用 SSMS
來操作數據庫,還原數據庫以及附加數據庫,只需要認識字知道點鼠標左鍵就可以完成任務,十分方便快捷。久而久之就成了微軟慣壞的孩子,去操作奔跑在Linux
上的Sql Server
時候有些為難,我手上只有*.mdf
的文件,該如何如還原數據庫呢?在 Linux
上沒有SSMS
這樣強大的隊友,但是還是可以通過 sqlcmd
去解決得。下面就是簡單的記錄下操作步驟。
*.bak
還原數據庫的話,參考文檔:地址
*.mdf
還原數據庫
-
拷貝
*.mdf
以及*_log.ldf
文件到/var/opt/mssql/data
目錄下,不移動到該目錄一下,執行后面腳本會報The system cannot find the file specified.
的錯誤。 -
給剛移動的文件分配權限,不分配權限會出現
Access is denied.
sudo chmod 777 *.mdf
sudo chmod 777 *_log.ldf
sqlcmd -S localhost -U sa
連接數據庫- 執行下面的命令開始附加數據庫,將里面的
table_name
,your_data.mdf
,your_data_log.ldf
替換你自己的即可。
CREATE DATABASE table_name ON PRIMARY
(FILENAME = '/var/opt/mssql/data/your_data.mdf') LOG ON
(FILENAME ='/var/opt/mssql/data/your_data_log.ldf') FOR ATTACH;
GO
好了,到這里就完成了。