我在 SQL Server Management Studio 中还原已备份到 Microsoft Azure 的数据库时遇到了一些问题。我已经能够创建维护计划,该计划使用我设置的凭据成功创建了备份。凭据已设置为指向我的容器,并使用存储帐户密钥作为机密。
当我从 URL 进行恢复时,根据我进行操作的方式,我会在各个方面遇到困难。
如果我右键单击对象资源管理器上的数据库并从那里恢复,我会将源从磁盘更改为 URL,输入容器和密钥,它似乎连接起来了。但是我无法在弹出的文件选择器中看到我的 .bak 文件。如果我随后进入 Azure 并创建容器访问策略以进行读写,我可以在 SSMS 中看到它们,但备份仍然失败(错误表明未选择任何备份)。无论如何,我都不想将访问策略公开。
如果我右键单击我备份到 URL 的实际数据库并选择还原,则还原窗口将打开,并且似乎会立即在我的 Azure 容器中找到备份。但是备份仍然失败。
但是,如果我使用 T-SQL 手动完成所有这些操作并明确说明我的凭据(使用凭据 =“credname”从 [url] 恢复数据库 [dbname]),它就可以正常工作。这是我可以使用的一种解决方法,但它似乎是一种冗长的方法,应该可以通过 SQL Server 2016 中的 UI 来实现。
我觉得我的凭证有问题;至少当我使用向导时,SSMS 使用我的凭证有问题。但是我还没有看到在向导中实际使用我的凭证的机会。我看到有人提到共享访问签名,但我不知道这是什么或如何创建它。
任何帮助,将不胜感激!
谢谢