gpt4 book ai didi

azure - New-AzSqlDatabaseImport 无法将参数绑定(bind)到参数 'OperationStatusLink',因为它为 null

转载 作者:行者123 更新时间:2023-12-02 16:24:58 33 4
gpt4 key购买 nike

尝试使用 PowerShell 和 New-AzSqlDatabaseImport 命令将数据库部署到 Azure SQL 时,我收到以下错误:

New-AzSqlDatabaseImport : An unexpected error occured while processing the request. Tracking ID: 'mytrackingid'
At C:\mydir\mypowershell.ps1:363 char:18
+ ... rtRequest = New-AzSqlDatabaseImport -ResourceGroupName "myresource ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzSqlDatabaseImport], CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Sql.ImportExport.Cmdlet.NewAzureSqlDatabaseImport

Get-AzSqlDatabaseImportExportStatus : Cannot bind argument to parameter 'OperationStatusLink' because it is null.
At C:\mydir\mypowershell.ps1:376 char:74
+ ... tExportStatus -OperationStatusLink $importRequest.OperationStatusLink
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Get-AzSqlDatabaseImportExportStatus], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Azure.Commands.Sql.ImportExport.Cmdlet.GetAzureSqlDatabaseImportExportStatus

奇怪的是,我已经在其他虚拟机上运行此脚本超过 100 次,并且想知道此虚拟机是否能够从 Blob 存储中获取所需的 bacpac 文件,或者是否发生了某些变化。

我已经检查了 blob 存储的生命周期,该页面上没有列出任何内容。 Blob 和容器存在。

我已安装 Az 和 SQLServer 模块,并且能够使用 Connect-AzAccount 连接到 Azure,然后通过 Set-AzContext -SubscriptionId 设置所需的订阅

我已检查 NSG,并且能够从我运行以下 PowerShell 的虚拟机上的浏览器打开网页:

$importRequest = New-AzSqlDatabaseImport -ResourceGroupName "myresourcegroup" `
-ServerName "5878956-sql" `
-DatabaseName "mydatabase"`
-DatabaseMaxSizeBytes "262144000" `
-StorageKeyType "StorageAccessKey" `
-StorageKey "mylongaccesskey" `
-StorageUri "https://myblobs.blob.core.windows.net/mycontainer/mydatabase.bacpac" `
-Edition "Standard" `
-ServiceObjectiveName "S1" `
-AdministratorLogin "azuresqladmin" `
-AdministratorLoginPassword $(ConvertTo-SecureString -String "mypassword" -AsPlainText -Force)

# Check import status and wait for the import to complete
$importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
[Console]::Write("Importing mydatabase")
while ($importStatus.Status -eq "InProgress")
{
$importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
[Console]::Write(".")
Start-Sleep -s 10
}
[Console]::WriteLine("")
$importStatus

更新1:

今天测试,我可以通过 Azure 门户 GUI 导入数据库,但 PowerShell 不起作用。我可以通过 PowerShell 下载 blob/bacpac 文件,但使用 New-AzSqlDatabaseImport 导入仍然失败。

在检查 Azure 门户事件日志时,它显示以下错误,因此我们相信它正在与 Azure SQL 通信:

"subStatus": {
"value": "InternalServerError",
"localizedValue": "Internal Server Error (HTTP Status Code: 500)"
},

最佳答案

与 Microsoft 交谈后,我需要调整最大字节数以匹配我尝试部署的标准版最大 250GB。虽然过去较小的值有效,但调整此值有效。

我改变了这个:

-DatabaseMaxSizeBytes "262144000"

对此:

-DatabaseMaxSizeBytes "268435456000"

关于azure - New-AzSqlDatabaseImport 无法将参数绑定(bind)到参数 'OperationStatusLink',因为它为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64739231/

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