PowerShell für den DNS-Alias für Azure SQL-Datenbank

Gilt für:Azure SQL-DatenbankAzure Synapse Analytics

Dieser Artikel bietet ein PowerShell-Skript, das veranschaulicht, wie Sie einen DNS-Alias für den SQL-Server verwalten, der Ihre Azure SQL-Datenbank-Instanz hostet.

Hinweis

Dieser Artikel wurde aktualisiert und behandelt nun die Verwendung des Azure PowerShell Az-Moduls bzw. der Azure CLI. Sie können das AzureRM-Modul weiterhin verwenden, das bis mindestens Dezember 2020 weiterhin Fehlerbehebungen erhält.

Weitere Informationen zum Az-Modul und zur Kompatibilität mit AzureRM finden Sie unter Einführung in das neue Azure PowerShell Az-Modul. Anweisungen zur Installation finden Sie unter Installieren von Azure PowerShell oder Installieren der Azure CLI.

DNS-Alias in der Verbindungszeichenfolge

Um eine Verbindung mit einem logischen SQL-Server herzustellen, kann ein Client wie SQL Server Management Studio (SSMS) anstelle des tatsächlichen Servernamens den DNS-Aliasnamen angeben. In der folgenden Beispielserverzeichenfolge ersetzt der Alias any-unique-alias-name den ersten durch Punkte getrennten Knoten in der Serverzeichenfolge mit vier Knoten:

<yourServer>.database.windows.net

Voraussetzungen

Wenn Sie das in diesem Artikel angegebene PowerShell-Demoskript ausführen möchten, gelten die folgenden Voraussetzungen:

  • Ein Azure-Abonnement und -Konto; für eine kostenlose Testversion siehe Azure-Testversionen
  • Zwei Server

Beispiel

Im folgenden Codebeispiel werden mehreren Variablen zunächst Literalwerte zugewiesen.

Um den Code auszuführen, ändern Sie die Platzhalterwerte in die entsprechenden tatsächlichen Werten in Ihrem System.

Die folgenden Cmdlets werden verwendet:

Informationen zum Installieren oder Upgraden finden Sie unter Installieren und Konfigurieren von Azure PowerShell.

Verwenden Sie Get-Module -ListAvailable Az in der Datei powershell_ise.exe, um die Version zu ermitteln.

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

Nächste Schritte

Eine vollständige Erläuterung des DNS-Aliasfeatures für SQL-Datenbank finden Sie unter DNS-Alias für Azure SQL-Datenbank.