New-AzSqlDatabaseImport 无法将参数绑定到参数"操作状态链接",因为它为空



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

New-AzSqlDatabaseImport : An unexpected error occured while processing the request. Tracking ID: 'mytrackingid'
At C:mydirmypowershell.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:mydirmypowershell.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,并且能够从VM上的浏览器打开网页。我正在运行以下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)"
},

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

我改了这个:

-DatabaseMaxSizeBytes "262144000"

到此:

-DatabaseMaxSizeBytes "268435456000"

@Kode。为我指明了正确的方向。有效号码为

Maximum Size    Maximum Size    Available 
(in bytes)      (in GB)         (edition)
104857600       0.1             Premium, Standard, Basic
524288000       0.5             Premium, Standard, Basic
1073741824      1               Premium, Standard, Basic
2147483648      2               Premium, Standard, Basic
5368709120      5               Premium, Standard
10737418240     10              Premium, Standard
21474836480     20              Premium, Standard
32212254720     30              Premium, Standard
42949672960     40              Premium, Standard
53687091200     50              Premium, Standard
107374182400    100             Premium, Standard
161061273600    150             Premium, Standard
214748364800    200             Premium, Standard
268435456000    250             Premium, Standard
322122547200    300             Premium
429496729600    400             Premium
536870912000    500             Premium

最新更新