利用docker装了Azure Sql Edge数据库(数据文件映射到物理目录),但无法在SSMS中附加原来的数据库,只能通过如下方式用sql语句附加。
1、查看Azure Sql Edge服务器上master数据库保存位置,并记下数据库目录(如:/var/opt/data/master.mdf)
select [type_desc],[name],[physical_name] from [sys].[database_files]
2、将要附加的数据库文件上传到上面记录的数据库目录(如上:/var/opt/data/),如果是映射到物理目录,则上传到该物理目录
包括所有的数据库文件,如:mydata.mdf、mydata_log_ldf、mydata_other.ndf 等
3、输入并执行命令:
CREATE DATABASE [mydata] ON (FILENAME = '/var/opt/data/mydata.mdf'), (FILENAME = '/var/opt/data/mydata_other.ndf'), (FILENAME = '/var/opt/data/mydata_log.ldf') FOR ATTACH;
4、成功后其它操作都可以在SSMS中进行了。比如更改数据库所有者