2017-08-31 74 views
0

我嘗試從VSTS更新SQL Azure上的數據庫。VSTS Azure PowerShell任務SQL防火牆規則

我需要在遷移過程中應用防火牆規則並將其刪除。

我使用VSTS Azure的PowerShell的任務,我已經配置了它,我試試這個命令添加一條規則:

New-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp 

任務失敗,此錯誤消息:

##[error]No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription. 

任務開始與此日誌中:

##[command]Add-AzureRMAccount -ServicePrincipal -Tenant ******** -Credential System.Management.Automation.PSCredential -Environment AzureCloud 
##[command]Select-AzureRMSubscription -SubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -TenantId ******** 
+1

在VSTS中,您選擇了ARM訂閱,但「New-AzureSqlDatabaseServerFirewallRule」是一個經典的cmdlet。你應該使用'New-AzureRmSqlServerFirewallRule -ResourceGroupName「」-ServerName「」-FirewallRuleName「Rule01」-StartIpAddress「192.168.0.198」-EndIpAddress「192.168.0.199」' –

+0

謝謝Walter,只是爲了解經典的cmdlet應該被棄用ARM的青睞還是都有它們的優勢? – Swell

+1

也許你可以參考這個[鏈接](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-deployment-model)。 –

回答

2

您應該使用ARM cmdlet可以爲SQL數據庫,而不由ASM之一。請注意cmdlet中的RM

New-AzureRmSqlServerFirewallRule 
Set-AzureRmSqlServerFirewallRule 
相關問題