gpt4 book ai didi

sql-server - PowerShell New-AzSqlDatabaseImport - 0 : The storage account cannot be accessed. 请检查存储帐户名称和 key ,然后重试

转载 作者:行者123 更新时间:2023-12-02 23:57:47 25 4
gpt4 key购买 nike

我编写了一个 PowerShell 脚本,用于将本地 bacpac 文件复制到 Azure 存储帐户容器。将 bacpac 文件从本地文件系统复制到 Azure blob 容器后,我向 New-AzSqlDatabaseImport 命令提供 bacpac 文件的存储帐户 key 和 URI。

但是,它永远不会成功。我总是得到 0:无法访问存储帐户。请检查存储帐户名称和 key ,然后重试错误消息。不幸的是,无论我尝试什么,我都无法让它工作,并且该错误消息根本没有很好的描述性或帮助。在详细信息响应中,我看到严重性“16”代码“0”和消息“无法访问存储帐户。请检查存储帐户名称和 key ,然后重试。”

New-AzSqlDatabaseImport-ResourceGroupName 是否必须同时包含 SQL Server 和存储帐户?需要启用哪些权限才能允许 New-AzSqlDatabaseImport 命令成功访问存储帐户?

我不明白我做错了什么。我对 Set-AzStorageBlobContent 命令使用相同的 key ,该命令可以正常工作,因此我知道该 key 是正确的。 bacpac 文件的 URI 也是正确的。那么我做错了什么?存储帐户和 SQL Server 实例的资源组名称不同有什么关系吗?我需要更改存储帐户的防火墙中的某些内容吗?

感谢任何帮助!

最佳答案

我们在本地环境中进行了测试,通过使用以下 cmdlet,我们可以成功导入 SQL 数据库,并且以下语句基于我们的分析。

  New-AzSqlDatabaseImport -ResourceGroupName "<resourceGroupName>" -ServerName "bacapserverdb" -DatabaseName "<DatabaseName>" -StorageKeyType "StorageAccessKey" -StorageKey "<storageAccountKey>" -StorageUri "<bacpacFileUri" -AdministratorLogin "<SQLServerUserName>" -AdministratorLoginPassword $SecureString -Edition Standard -ServiceObjectiveName S0 -DatabaseMaxSizeBytes 1073741824

引用下面截图拉Access key用于来自 Azure 门户的存储帐户。

Does the -ResourceGroupName for the New-AzSqlDatabaseImport have to contain both the SQL server and the storage account?

您只需按照 documentation 中所述传递 SQL 数据库的 ResourceGroupName .

What permissions need to be enabled in order to allow theNew-AzSqlDatabaseImport command to successfully access the storageaccount?

当您将存储帐户访问 key 作为 New-AzSqlDatabaseImport cmdlet 的一部分传递时,不需要任何特殊权限。

Does it matter that the Resource Group Name is not the same for thestorage account and SQL server instance?

当您为 New-AzSqlDatabaseImport 命令传递 SQL 数据库的资源组名称时。根据我的理解,即使两个资源位于不同的资源组中,此操作也可以成功。

Is there something in the firewall for the storage account I need tochange?

当我在本地环境中进行测试时,我们没有对存储帐户上的防火墙设置应用任何更改。

这是示例 output发布成功导入sql数据库。

导入\导出的限制 SQL Database :

  • 当“允许访问 Azure 服务”设置为“关闭”时,导入导出服务不起作用。
  • 导入不支持在创建新数据库时指定备份存储冗余,并使用默认异地冗余备份存储冗余进行创建。要解决此问题,请首先使用 Azure 门户或 PowerShell 创建一个具有所需备份存储冗余的空数据库,然后将 BACPAC 导入到该空数据库中。

关于sql-server - PowerShell New-AzSqlDatabaseImport - 0 : The storage account cannot be accessed. 请检查存储帐户名称和 key ,然后重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69321051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com