Попытка удалить sql db в Azure приводит к ошибке «Подписка по умолчанию не назначена» - PullRequest
0 голосов
/ 24 сентября 2019

В настоящее время я пытаюсь написать скрипт powershell, который входит в систему Azure, а затем удаляет базу данных SQL.Когда дело доходит до удаления базы данных, выдает ошибку:

Remove-AzureSqlDatabase : No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default 
subscription.

Когда я пытаюсь добавить подписку по умолчанию с Select-AzureSubscription -Default -SubscriptionName Pay-As-You-Go, я получаю сообщение об ошибке:

Select-AzureSubscription : The subscription name Pay-As-You-Go doesn't exist.

I 'Я не понимал, в чем проблема, и попытался подключиться к учетной записи через connect-AzAccount aswell.

Полный сценарий:

$passwd = ConvertTo-SecureString password -AsPlainText -Force
$pscredential = New-Object System.Management.Automation.PSCredential('accountname', $passwd)
Connect-AzureRmAccount -Credential $pscredential -Tenant "tenant string" 
# Set-AzContext -SubscriptionId "subscription id"
Select-AzureSubscription -Default -SubscriptionName Pay-As-You-Go
# Get-AzureSubscription -SubscriptionName “Pay-As-You-Go” | Select-AzureSubscription -Default

Remove-AzureSqlDatabase -ServerName migrate -DatabaseName "AWS-Copy"

1 Ответ

0 голосов
/ 25 сентября 2019

Вы не можете смешать три модуля powershell Azure, Az, AzureRm вместе, и если вы установили модуль Az, я рекомендую удалить AzureRmмодуль, он устарел и никогда не будет обновляться.

Чтобы удалить sql db с модулем Az, ваш скрипт должен быть таким, как показано ниже.Убедитесь, что ваша учетная запись имеет роль RBAC (например, Owner, Contributor) вашей подписки / SQL Server.

$passwd = ConvertTo-SecureString password -AsPlainText -Force
$pscredential = New-Object System.Management.Automation.PSCredential('accountname', $passwd)
Connect-AzAccount -Credential $pscredential -Tenant "<tenant-id>" 
Set-AzContext -Subscription "<subscription-id>"
Remove-AzSqlDatabase -ResourceGroupName "<ResourceGroupName>" -ServerName "<ServerName>" -DatabaseName "<DatabaseName>"
...