Condividi tramite


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

Si applica a: Database SQL di Azure Azure Synapse Analytics

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

Nota

Questo articolo è stato aggiornato per usare il modulo Az di 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 maggiori informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione al modulo Az di Azure PowerShell. Per istruzioni sull'installazione, vedere Installare Azure PowerShell o Installare l'interfaccia della riga di comando di Azure.

Alias DNS nella stringa di connessione

Per connettere un SQL server logico, un client come SQL Server Management Studio (SSMS) può specificare il nome dell'alias DNS al posto del nome reale del server. 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

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

Per eseguire il codice, modificare tutti i valori segnaposto sostituendoli con i valori reali del 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.exe per 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à di alias DNS per il database SQL, vedere Alias DNS per il database SQL di Azure.