尝试将存储在Blob存储中的.bak文件还原到Azure SQL托管实例失败。
此数据库存在于弹性池中。创建池和数据库时,我们认为我们正在创建Azure SQL托管实例。有帖子指出,ElasticPool中的数据库不是托管实例。这可能是为什么还原datbase失败的原因吗?
T-SQL
通过URL ='somestorage.blob.core.windows.net/backups / ...'通过CRESTENTIAL ='共享访问签名'还原数据库
错误
此版本的SQL Server不支持“ RESTORE DATABASE”。
您可以推荐解决此问题的解决方案吗?
我们最初遇到了一个问题,在demo on Microsoft.com之后,凭证的创建失败。 CHEEKATLAPRADEEP回答说,正确的语法是CREATE DATABASE SCOPED CREDENTIAL,而不是演示中所示的CREATE CREDENTIAL。希望此修复程序也是语法的更新。
答案 0 :(得分:1)
您的弹性池中的数据库不是托管实例。
SQL数据库支持仅从自动备份恢复。
https://i.stack.imgur.com/w08uT.png
有关更多详细信息,您可以看到:
功能比较:Azure SQL数据库与SQL Server: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-features
用于还原,恢复和管理备份的RESTORE语句: https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-for-restoring-recovering-and-managing-backups-transact-sql?view=sql-server-2017