Alias do PowerShell para DNS para o Banco de Dados SQL do Azure

Aplica-se a:Banco de DadosSQL do Azure Azure Synapse Analytics

Este artigo fornece um script do PowerShell que demonstra como você pode gerenciar um alias DNS para o servidor SQL que hospeda seu Banco de Dados SQL do Azure.

Nota

Este artigo foi atualizado para usar o módulo Az do Azure PowerShell ou a CLI do Azure. Pode continuar a utilizar o módulo AzureRM, que continuará a receber correções de erros até, pelo menos, dezembro de 2020.

Para saber mais sobre o módulo Az e a compatibilidade do AzureRM, consulte Apresentando o módulo Az do Azure PowerShell. Para obter instruções de instalação, consulte Instalar o Azure PowerShell ou Instalar a CLI do Azure.

Alias DNS na cadeia de conexão

Para conectar um servidor SQL lógico, um cliente como o SQL Server Management Studio (SSMS) pode fornecer o nome do alias DNS em vez do nome verdadeiro do servidor. No exemplo de cadeia de caracteres do servidor a seguir, o alias any-unique-alias-name substitui o primeiro nó delimitado por pontos na cadeia de caracteres do servidor de quatro nós:

<yourServer>.database.windows.net

Pré-requisitos

Se você quiser executar o script de demonstração do PowerShell fornecido neste artigo, os seguintes pré-requisitos se aplicam:

  • Uma assinatura e uma conta do Azure, para avaliação gratuita, consulte Avaliações do Azure
  • Dois servidores

Exemplo

O exemplo de código a seguir começa atribuindo valores literais a várias variáveis.

Para executar o código, edite os valores de espaço reservado para corresponder aos valores reais em seu sistema.

Os cmdlets usados são os seguintes:

Para instalar ou atualizar, veja Instalar o módulo do Azure PowerShell.

Use Get-Module -ListAvailable Az em powershell_ise.exe, para encontrar a versão.

$subscriptionName = '<subscriptionName>';
$sqlServerDnsAliasName = '<aliasName>';
$resourceGroupName = '<resourceGroupName>';  
$sqlServerName = '<sqlServerName>';
$resourceGroupName2 = '<resourceGroupNameTwo>'; # can be same or different than $resourceGroupName
$sqlServerName2 = '<sqlServerNameTwo>'; # must be different from $sqlServerName.

# login to Azure
Connect-AzAccount -SubscriptionName $subscriptionName;
$subscriptionId = Get-AzSubscription -SubscriptionName $subscriptionName;

Write-Host 'Assign an alias to server 1...';
New-AzSqlServerDnsAlias –ResourceGroupName $resourceGroupName -ServerName $sqlServerName `
    -Name $sqlServerDnsAliasName;

Write-Host 'Get the aliases assigned to server 1...';
Get-AzSqlServerDnsAlias –ResourceGroupName $resourceGroupName -ServerName $sqlServerName;

Write-Host 'Move the alias from server 1 to server 2...';
Set-AzSqlServerDnsAlias –ResourceGroupName $resourceGroupName2 -TargetServerName $sqlServerName2 `
    -Name $sqlServerDnsAliasName `
    -SourceServerResourceGroup $resourceGroupName -SourceServerName $sqlServerName `
    -SourceServerSubscriptionId $subscriptionId.Id;

Write-Host 'Get the aliases assigned to server 2...';
Get-AzSqlServerDnsAlias –ResourceGroupName $resourceGroupName2 -ServerName $sqlServerName2;

Write-Host 'Remove the alias from server 2...';
Remove-AzSqlServerDnsAlias –ResourceGroupName $resourceGroupName2 -ServerName $sqlServerName2 `
    -Name $sqlServerDnsAliasName;

Próximos passos

Para obter uma explicação completa do recurso de alias DNS para o Banco de Dados SQL, consulte Alias DNS para o Banco de Dados SQL do Azure.