2017-08-31 31 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 
相关问题