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

Aplica-se a: Banco de Dados SQL do Azure Azure Synapse Analytics

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

Observação

Este artigo foi atualizado para usar o módulo Az do Azure PowerShell ou a CLI do Azure. Você ainda pode usar o módulo AzureRM, que continuará a receber as correções de bugs até pelo menos dezembro de 2020.

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

Alias de DNS na cadeia de conexão

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

<yourServer>.database.windows.net

Pré-requisitos

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

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

Exemplo

Os exemplos de código a seguir começam atribuindo valores literais a diversas variáveis.

Para executar o código, edite os valores de espaço reservado para corresponderem a valores reais do seu sistema.

Os cmdlets usados são os seguintes:

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

Use Get-Module -ListAvailable Az no powershell_ise.exe para localizar 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óximas etapas

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