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