我正在尝试从存储在Blob中的数据库备份文件中还原Azure中的SQL Server数据库。我已遵循this链接,但收到此错误
标题:Microsoft SQL Server Management Studio
加载数据时发生错误。
其他信息:
此版本无法识别容器中的Blob类型。 (Microsoft.SqlServer.StorageClient)
远程服务器返回错误:(409)冲突。 (系统)
我也尝试过这个:
CREATE CREDENTIAL mycredential1
WITH IDENTITY= 'jjt', -- this is the name of the storage account you specified when creating a storage account
SECRET = 'storage account key'
然后尝试使用凭据从azure blob还原sql db,但是在上述步骤中失败,并出现以下错误:
MSG 40514,第16级,状态1,第1行
此版本的SQL Server不支持“ CREATE CREDENTIAL”。
正确的方法是什么?
答案 0 :(得分:0)
您不能在Azure SQL数据库上使用CREATE CREDENTIAL,需要创建一个CREATE DATABASE SCOPED CREDENTIAL,如下所示:
CREATE DATABASE SCOPED CREDENTIAL UploadInvoices
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'QLYMgmSXMklt%2FI1U6DcVrQixnlU5Sgbtk1qDRakUBGs%3D';
有关更多信息,请阅读this文章。
此外,您不能将本机SQL Server备份还原到Azure SQL数据库中。您正在参考的文章正在还原bacpac。您可以将bacpac还原到Azure SQL数据库中。
请使用Microsoft SQL Server Management Studio(SSMS)为您的SQL Server(本地)数据库创建bacpac,右键单击数据库,选择“任务”,然后选择“导出数据层应用程序”以创建提到的bacpac 。创建bacpac后,可以将其作为新数据库导入到Azure SQL数据库中。
将数据库从SQL Server实例迁移到Azure SQL数据库的更好方法是使用最新版本的数据迁移助手,可以从here下载。该工具将对您的SQL Server评估进行评估,它将使您知道为使数据库与Azure SQL数据库兼容而需要进行的任何调整。如果数据库兼容,则该工具会将数据库迁移到Azure SQL数据库逻辑服务器。