Dela via


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:

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.