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í:

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.