PowerShell voor DNS-alias voor Azure SQL Database
van toepassing op:Azure SQL Database
Azure Synapse Analytics-
Dit artikel biedt Azure PowerShell Az-module of Azure CLI-scripts om te laten zien hoe u een DNS-alias kunt beheren voor de logische Azure SQL-server die uw Azure SQL Database host.
DNS-alias in verbindingsreeks
Als u verbinding wilt maken met een logische SQL-server, kan een client zoals SQL Server Management Studio (SSMS) de DNS-aliasnaam opgeven in plaats van de echte servernaam. In de volgende voorbeeldservertekenreeks vervangt de alias een unieke aliasnaam het eerste door punt gescheiden knooppunt in de vier knooppunten tellende servertekenreeks.
<yourServer>.database.windows.net
Voorwaarden
Als u het powerShell-demoscript in dit artikel wilt uitvoeren, zijn de volgende vereisten van toepassing:
- Een Azure-abonnement en -account, voor een gratis proefversie, zie Azure-proefversies
- Twee logische Azure SQL-servers
- Installeer de Azure PowerShell-module of de Azure CLI.
Voorbeeld
Het volgende codevoorbeeld begint met het toewijzen van letterlijke waarden aan verschillende variabelen.
Als u de code wilt uitvoeren, bewerkt u de tijdelijke aanduidingen zodat deze overeenkomen met echte waarden in uw systeem.
De gebruikte cmdlets zijn het volgende:
- New-AzSqlServerDNSAlias: hiermee maakt u een DNS-alias in het Azure SQL Database-servicesysteem. De alias verwijst naar server 1.
- Get-AzSqlServerDNSAlias: Alle aliassen ophalen en vermelden die zijn toegewezen aan server 1.
- Set-AzSqlServerDNSAlias: wijzigt de servernaam waarnaar de alias is geconfigureerd, van server 1 tot server 2.
- Remove-AzSqlServerDNSAlias: Verwijder de alias van server 2 met behulp van de naam van de alias.
Zie Azure PowerShell-module installerenals u deze wilt installeren of upgraden.
Gebruik Get-Module -ListAvailable Az
in powershell_ise.exeom de versie te vinden.
$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;