PowerShell för hantering av DNS-alias till Azure SQL Database
gäller för:Azure SQL Database
Azure Synapse Analytics
Den här artikeln innehåller Azure PowerShell Az-modul eller Azure CLI-skript som visar hur du kan hantera ett DNS-alias för den logiska Azure SQL-servern som är värd för din Azure SQL Database.
DNS-alias i anslutningssträng
Om du vill ansluta en logisk SQL-serverkan en klient som SQL Server Management Studio (SSMS) tillhandahålla DNS-aliaset namn i stället för det sanna servernamnet. I följande exempelserversträng ersätter aliaset valfritt unikt aliasnamn 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:
- För mer information om prenumerationer och konton för gratis provperiod, se Azure-utvärderingar
- Två logiska Azure SQL-servrar
- Installera Azure PowerShell-modulen eller Azure CLI-.
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 cmdlets 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 hur du installerar eller uppgraderar finns i Installera Azure PowerShell-modulen.
Använd Get-Module -ListAvailable Az
i powershell_ise.exefö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;