之前都是使用 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
好了,到这里就完成了。