Azure sql database 导入的Azure SQL数据库大小始终为250GB

Azure sql database 导入的Azure SQL数据库大小始终为250GB,azure-sql-database,Azure Sql Database,我的问题是,设置一个新的SQL DB bacpac导入(S3标准)的最大大小总是为250 GB,就像忽略了参数“DatabaseMaxSizeBytes”一样。代码如下: $sdvobjDbImport = New-AzureRmSqlDatabaseImport ` -ResourceGroupName $sdvstrSqlsResourceGroupName ` -ServerName $sdvstrSqlsNa

我的问题是,设置一个新的SQL DB bacpac导入(S3标准)的最大大小总是为250 GB,就像忽略了参数“DatabaseMaxSizeBytes”一样。代码如下:

$sdvobjDbImport = New-AzureRmSqlDatabaseImport `
                    -ResourceGroupName $sdvstrSqlsResourceGroupName `
                    -ServerName $sdvstrSqlsName `
                    -AdministratorLogin $sdvstrAdminLI `
                    -AdministratorLoginPassword $sdvsstrAdminPW `
                    -DatabaseName $sdvstrDatabaseName `
                    -Edition $sdvstrDbEditionAtImport `
                    -ServiceObjectiveName $sdvstrServiceObjectiveAtImport `
                    -DatabaseMaxSizeBytes 262144000 `
                    -StorageKey $sdvstrStorageKey `
                    -StorageKeyType 'StorageAccessKey' `
                    -StorageUri $sdvstrStorageUri `
                    -EA Stop

它应该是250 MB,但不是GB。我不需要这样的怪物;之后的缩小(从250 GB到250 MB)会导致在DB上运行时间过长的问题。你知道我的代码出了什么问题吗?谷歌也没有给出答案。

Az正在取代AzureRM,所以这个bug可能不会被修复。解决方案是使用新的AzSqlDatabaseImport而不是新的AzureRmSqlDatabaseImport

下面是一个如何使用它的示例

$importRequest = New-AzSqlDatabaseImport 
   -ResourceGroupName "<your_resource_group>" `
   -ServerName "<your_server>" `
   -DatabaseName "<your_database>" `
   -DatabaseMaxSizeBytes "<database_size_in_bytes>" `
   -StorageKeyType "StorageAccessKey" `
   -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName "<your_resource_group>" -StorageAccountName "<your_storage_account").Value[0] `
   -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
   -Edition "Standard" `
   -ServiceObjectiveName "P6" `
   -AdministratorLogin "<your_server_admin_account_user_id>" `
   -AdministratorLoginPassword $(ConvertTo-SecureString -String "<your_server_admin_account_password>" -AsPlainText -Force)
$importRequest=新AzSqlDatabaseImport
-ResourceGroupName“”`
-服务器名“”`
-数据库名称“”`
-数据库MaxSizeBytes“”`
-StorageKeyType“StorageAccessKey”`

-StorageKey$(Get-AzStorageAccountKey-ResourceGroupName”“-StorageAccountName“我经过测试,遇到了相同的问题:参数
-DatabaseMaxSizeBytes
不起作用。无论我们使用哪个值,它都将使用最大存储250G(DTU标准S2)创建数据库

Azure文档使用了
-DatabaseMaxSizeBytes 5000000
,我已经测试过了,但它也不起作用

解决方案

导入完成后,我们必须手动设置数据库大小,下面是示例命令:

Set-AzSqlDatabase -DatabaseName "TestDB" -ServerName "sqlservername" -ResourceGroupName "resourcegroup" -MaxSizeBytes "104857600"
注意

-MaxSizeBytes
的值必须为:100M、500m、1GB、2GB、5GB、10GB、20GB、30GB、40GB、50GB、100GB、150GB、200GB、250GB

你也可以测试

您可以从门户获取此值:

我用这个


希望这能有所帮助。

感谢您的贡献,但您的internet复制粘贴代码以及您到SQL Server Powershell的链接都无法作为答案。还有,您听说过“神奇数字”吗“1024当涉及转换数据单位时?已看到。那个家伙的问题与我的不同。但是,再次感谢您的参考!嗨,如果我的答案对您有帮助,请接受(马克)这就是答案。这对其他社区成员是有益的。谢谢。谢谢你确认我的观察。和你一样,我也会在bacpac导入后缩小数据库的大小。