【问题标题】:Azure restore a SQL Server database from blobAzure 从 blob 还原 SQL Server 数据库
【发布时间】:2019-05-28 12:03:43
【问题描述】:

我正在尝试从存储在 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,但上述步骤失败并出现以下错误:

消息 40514,第 16 级,状态 1,第 1 行
此版本的 SQL Server 不支持“CREATE CREDENTIAL”。

正确的方法是什么?

【问题讨论】:

  • 您的 SSMS 版本是多少?请使用最新的SSMS
  • 这可能更适合dba.stackexchange.com
  • @Jayendran 我试过 17.9 和 17.9.1

标签: azure azure-sql-database


【解决方案1】:

您不能在 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 数据库逻辑服务器。

【讨论】:

  • 我可以通过 SSMS 将本地 bacpac 文件导入 Azure sql db。但是当我尝试连接到存储帐户以从 azure blob 进行导入时,我总是收到 409 错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2018-07-03
  • 2016-11-01
  • 2019-10-22
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
相关资源
最近更新 更多