PowerShell pro alias DNS pro Azure SQL Database
Platí pro: Azure SQL Database Azure Synapse Analytics
Tento článek obsahuje skript PowerShellu, který ukazuje, jak můžete spravovat alias DNS pro SQL Server hostující vaši službu Azure SQL Database.
Poznámka:
Tento článek byl aktualizován tak, aby používal modul Az Azure PowerShellu nebo Azure CLI. Můžete dál využívat modul AzureRM, který bude dostávat opravy chyb nejméně do prosince 2020.
Další informace o modulu Az a kompatibilitě AzureRM najdete v tématu Úvod k modulu Az Azure PowerShellu. Pokyny k instalaci najdete v tématu Instalace Azure PowerShellu nebo Instalace Azure CLI.
Alias DNS v připojovací řetězec
Pokud chcete připojit logický SQL server, může klient, jako je SQL Server Management Studio (SSMS), místo názvu skutečného serveru zadat název aliasu DNS. V následujícím příkladu řetězce serveru nahradí alias any-unique-alias-name první uzel oddělený tečkou v řetězci serveru se čtyřmi uzly:
<yourServer>.database.windows.net
Požadavky
Pokud chcete spustit ukázkový skript PowerShellu uvedený v tomto článku, platí následující požadavky:
- Předplatné a účet Azure pro bezplatnou zkušební verzi najdete v části Zkušební verze Azure.
- Dva servery
Příklad
Následující příklad kódu začíná přiřazením hodnot literálů k několika proměnným.
Pokud chcete kód spustit, upravte zástupné hodnoty tak, aby odpovídaly skutečným hodnotám ve vašem systému.
Použité rutiny jsou následující:
- New-AzSqlServerDNSAlias: Vytvoří alias DNS v systému služby Azure SQL Database. Alias odkazuje na server 1.
- Get-AzSqlServerDNSAlias: Získejte a vypíšete všechny aliasy přiřazené k serveru 1.
- Set-AzSqlServerDNSAlias: Upraví název serveru, na který má alias odkazovat, od serveru 1 na server 2.
- Remove-AzSqlServerDNSAlias: Odeberte alias ze serveru 2 pomocí názvu aliasu.
Pokud chcete provést instalaci nebo upgrade, přečtěte si téma Instalace modulu Azure PowerShell.
Verzi Get-Module -ListAvailable Az
najdete v powershell_ise.exe.
$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;
Další kroky
Úplné vysvětlení funkce aliasů DNS pro SLUŽBU SQL Database najdete v tématu Alias DNS pro Azure SQL Database.