Share via


PowerShell pour les alias DNS sur Azure SQL Database

S’applique à : Azure SQL Database Azure Synapse Analytics

Cet article fournit un script PowerShell qui montre comment gérer un alias DNS du serveur SQL qui héberge votre instance d'Azure SQL Database.

Notes

Cet article a été mis à jour pour tenir compte de l’utilisation du module Az d’Azure PowerShell ou d’Azure CLI. Vous pouvez toujours utiliser le module AzureRM, qui continue à recevoir des correctifs de bogues jusqu’à au moins décembre 2020.

Pour en savoir plus sur le module Az et la compatibilité avec AzureRM, consultez Présentation du module Az d’Azure PowerShell. Pour obtenir des instructions d’installation, consultez Installer Azure PowerShell ou Installer Azure CLI.

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 vrai nom du serveur. 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 proposé dans cet article, les prérequis suivants s’appliquent :

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.

Les applets de commande utilisées sont les 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;

Étapes suivantes

Pour obtenir une description complète de la fonctionnalité d'alias DNS de SQL Database, consultez Alias DNS pour Azure SQL Database.