以前在Mac上,我使用mysql operation studio,然后单击“数据库”,然后单击“还原”,然后浏览到我的bak文件,但是现在它们更改为Azure Data Studio,当我重复相同的步骤时,出现此错误: “必须启用预览功能才能使用还原” 但我想不出什么来启用它。我已经用谷歌搜索并尝试了一些方法,甚至在网站上打开了我的azure微软帐户,但没有看到该选项。 可以帮忙一下吗!
答案 0 :(得分:9)
答案 1 :(得分:1)
将其添加为答案,因为我没有足够的评论。这是对OP中答案的评论中的问题的回答(如果还不够混乱的话!)
仅当您的sql数据库托管在Mac / Linux / Docker容器上时适用。我们没有可用的Windows服务器供我测试,以查看.bak文件的位置是否不同。
当您单击“ ...”按钮时,它将浏览到托管数据库的机器(或docker容器)上的/ var / opt / mssql / data。如果要在同一主机上备份和还原数据库,这不是问题,但是,如果要迁移到新服务器或仅创建dev / UAT / staging环境,则会成为问题,因为您没有访问var / opt / mssql / data。
这对于破解坚果型解决方案来说有点像大锤,但是当我使用2个开发箱时,对我来说并没有多大区别。
为便于理解,我将呼叫托管已备份数据库的服务器 ProdServ 和要还原到 DevServ 的服务器。
在DevServ上,在终端提示符下,导航到/ var / opt并记下mssql目录上的当前权限(我的权限为drwxrwx ---)。
$ cd /var/opt
$ ls -la
Google权限的八进制值(在我的实例中为770)
将数据目录的权限更改为rwxrwxrwx。
$ chmod -R 777 /var/opt/mssql/data
(如果这也是基于Unix的操作系统,则也需要在ProdServ上执行此操作)
通过适合您所处环境的方法将.bak文件从ProdServ复制到DevServ。
Windows-> Linux我将使用WinSCP
对于Mac到Docker,docker cp <fileToCopy> <container>:<destinationPath>
可以正常工作。
一旦文件被复制完,当您再次单击Azure Data Studio中的“ ...”按钮时,它们就会神奇地出现。确保通过同一命令将目录权限更改回其原始值。所以就我而言
$ chmod -R 770 /var/opt/mssql/data
要特别注意的是,如果您习惯于使用MSSMS,则该向导允许您从.bak文件创建数据库,据我所知,Azure Data Studio却没有。您必须首先在查询窗口中创建数据库(CREATE DATABASE <databasename>
,然后将.bak文件还原到该数据库。
答案 2 :(得分:0)
简单地将其添加到您的设置文件中:
"workbench.enablePreviewFeatures": true
答案 3 :(得分:0)
您可以单击“窗口”旁边顶部菜单中的“查看”。 然后选择第一个选项Command Palette 然后在命令文本框中,键入Restore,然后选择Restore。 然后出现还原窗口。