PowerShell per l'alias DNS per il database SQL di Azure

Si applica a: Azure SQL Database Azure Synapse Analytics

Questo articolo fornisce uno script di PowerShell che illustra come gestire un alias DNS per il server SQL che ospita il database Azure SQL.

Nota

Questo articolo è stato aggiornato per usare il modulo Az Azure PowerShell o l'interfaccia della riga di comando di Azure. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.

Per altre informazioni sulla compatibilità az e AzureRM, vedere Introduzione al modulo Az Azure PowerShell Az. Per istruzioni di installazione, vedere Installare Azure PowerShell o Installare l'interfaccia della riga di comando di Azure.

Alias DNS nella stringa di connessione

Per connettere un server SQL logico, un client come SQL Server Management Studio (SSMS) può fornire il nome alias DNS anziché il nome del server vero. Nella stringa server di esempio seguente, l'alias any-unique-alias-name sostituisce il primo nodo delimitato da punto nella stringa server di quattro nodi:

<yourServer>.database.windows.net

Prerequisiti

Se si vuole eseguire lo script di PowerShell di esempio di questo articolo, sono necessari i prerequisiti seguenti:

Esempio

L'esempio di codice seguente inizia assegnando valori letterali a diverse variabili.

Per eseguire il codice, modificare i valori segnaposto in modo che corrispondano ai valori reali nel sistema.

I cmdlet usati sono i seguenti:

Per eseguire l'installazione o l'aggiornamento, vedere Installare il modulo di Azure PowerShell.

Usare Get-Module -ListAvailable Az in powershell_ise.exeper trovare la versione.

$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;

Passaggi successivi

Per una spiegazione completa della funzionalità alias DNS per database SQL, vedere Alias DNS per Azure SQL Database.