PowerShell e interfaccia della riga di comando di Azure per l'alias DNS dei pool SQL dedicati autonomi (in precedenza SQL DW)

Tip

Microsoft Fabric Data Warehouse è un data warehouse relazionale su scala aziendale su una base data lake, con un'architettura futura, un'intelligenza artificiale predefinita e nuove funzionalità. Se non si ha familiarità con il data warehousing, iniziare con Fabric Data Warehouse. I carichi di lavoro esistenti del pool SQL dedicated possono eseguire l'aggiornamento a Fabric per accedere a nuove funzionalità tra data science, analisi in tempo reale e creazione di report.

Questo articolo fornisce il modulo Az di Azure PowerShell o script di interfaccia della riga di comando di Azure per illustrare come gestire un alias DNS per il server logico Azure SQL che ospita il pool SQL dedicato autonomo.

Solo i pool SQL dedicati autonomi (in precedenza DW) supportano l'alias DNS del server logico Azure SQL. Per i pool SQL dedicati nelle aree di lavoro Azure Synapse, l'alias DNS non è attualmente supportato. Qual è la differenza?

Alias DNS nella stringa di connessione

Per connettere un server SQL logico, un client come SQL Server Management Studio (SSMS) può fornire il nome dell'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

Per eseguire lo script demo di PowerShell fornito in questo articolo, verificare 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.

Usare i cmdlet 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;