PowerShell voor DNS-alias naar Azure SQL Database
Van toepassing op: Azure SQL DatabaseAzure Synapse Analytics
Dit artikel bevat een PowerShell-script dat laat zien hoe u een DNS-alias kunt beheren voor de SQL-server die als host fungeert voor uw Azure SQL Database.
Notitie
Dit artikel is bijgewerkt voor gebruik van de Azure PowerShell Az-module of Azure CLI. De AzureRM-module kan nog worden gebruikt en krijgt bugoplossingen tot ten minste december 2020.
Zie Inleiding tot de Azure PowerShell Az-module voor meer informatie over de Az-module en AzureRM-compatibiliteit. Zie Azure PowerShell installeren of Azure CLI installeren voor installatie-instructies.
DNS-alias in verbindingsreeks
Als u verbinding wilt maken met een logische SQL-server, kan een client zoals SQL Server Management Studio (SSMS) de naam van de DNS-alias opgeven in plaats van de werkelijke servernaam. In de volgende voorbeeldservertekenreeks vervangt de alias any-unique-alias-name het eerste door punt gescheiden knooppunt in de tekenreeks van de vier knooppuntserver:
<yourServer>.database.windows.net
Vereisten
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, bekijk de proefversies van Azure
- Twee servers
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: haal alle aliassen op die zijn toegewezen aan server 1 en vermeld deze.
- Set-AzSqlServerDNSAlias: wijzigt de servernaam waarnaar de alias is geconfigureerd, van server 1 naar server 2.
- Remove-AzSqlServerDNSAlias: Verwijder de alias van server 2 met behulp van de naam van de alias.
Zie Azure PowerShell-module installeren om de module te installeren of te upgraden.
Gebruik Get-Module -ListAvailable Az
in powershell_ise.exe om 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;