PowerShell för DNS-alias till Azure SQL Database
Gäller för:Azure SQL DatabaseAzure Synapse Analytics
Den här artikeln innehåller ett PowerShell-skript som visar hur du kan hantera ett DNS-alias för SQL-servern som är värd för din Azure SQL Database.
Kommentar
Den här artikeln har uppdaterats för att använda antingen Azure PowerShell Az-modulen eller Azure CLI. Du kan fortfarande använda modulen AzureRM som kommer att fortsätta att ta emot felkorrigeringar fram till december 2020 eller längre.
Mer information om Az-modulen och AzureRM-kompatibilitet finns i Introduktion till Azure PowerShell Az-modulen. Installationsinstruktioner finns i Installera Azure PowerShell eller Installera Azure CLI.
DNS-alias i anslutningssträng
Om du vill ansluta en logisk SQL-server kan en klient som SQL Server Management Studio (SSMS) ange DNS-aliasnamnet i stället för det sanna servernamnet. I följande exempelserversträng ersätter aliaset any-unique-alias-name den första punktavgränsade noden i serversträngen med fyra noder:
<yourServer>.database.windows.net
Förutsättningar
Om du vill köra demoskriptet för PowerShell som anges i den här artikeln gäller följande krav:
- En Azure-prenumeration och ett konto finns i Utvärderingsversioner av Azure för kostnadsfri utvärdering
- Två servrar
Exempel
Följande kodexempel börjar med att tilldela literalvärden till flera variabler.
Om du vill köra koden redigerar du platshållarvärdena så att de matchar verkliga värden i systemet.
De cmdletar som används är följande:
- New-AzSqlServerDNSAlias: Skapar ett DNS-alias i Azure SQL Database-tjänstsystemet. Aliaset refererar till server 1.
- Get-AzSqlServerDNSAlias: Hämta och lista alla alias som tilldelats server 1.
- Set-AzSqlServerDNSAlias: Ändrar servernamnet som aliaset är konfigurerat att referera till, från server 1 till server 2.
- Remove-AzSqlServerDNSAlias: Ta bort aliaset från server 2 med hjälp av namnet på aliaset.
Information om att installera och uppgradera finns i Install Azure PowerShell module (Installera Azure PowerShell-modul).
Använd Get-Module -ListAvailable Az
i powershell_ise.exe för att hitta versionen.
$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ästa steg
En fullständig förklaring av DNS-aliasfunktionen för SQL Database finns i DNS-alias för Azure SQL Database.