PowerShell et Azure CLI pour l’alias DNS d’Azure SQL Database

S’applique à :Azure SQL Database

Cet article fournit un module Azure PowerShell Az ou des scripts Azure CLI pour montrer comment gérer un alias DNS pour le serveur logique Azure SQL hébergeant votre base de données Azure SQL.

Alias DNS dans la chaîne de connexion

Pour connecter un serveur SQL logique, un client tel que SQL Server Management Studio (SSMS) peut fournir le nom d’alias DNS au lieu du nom de serveur vrai. Dans l’exemple de chaîne de serveur suivant, l’alias any-unique-alias-name remplace le premier nœud délimité par un point dans la chaîne de serveur à quatre nœuds :

<yourServer>.database.windows.net

Prérequis

Pour exécuter le script PowerShell de démonstration fourni dans cet article, vérifiez les conditions préalables suivantes :

Exemple

L’exemple de code suivant commence par affecter des valeurs littérales à plusieurs variables.

Pour exécuter le code, modifiez les valeurs des espaces réservés pour les faire correspondre aux valeurs réelles de votre système.

Utilisez les applets de commande suivantes :

Pour installer ou mettre à niveau, consultez Installer le module Azure PowerShell.

Utilisez Get-Module -ListAvailable Az dans powershell_ise.exe pour trouver la version.

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