技术探索

如何用sql语句附加原有数据库到Azure Sql Edge数据库服务器

2022-10-13
95

利用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中进行了。比如更改数据库所有者