Sdílet prostřednictvím


PowerShell pro DNS alias k Azure SQL Database

Se vztahuje na:Azure SQL DatabaseAzure Synapse Analytics

Tento článek poskytuje modul Az pro Azure PowerShell nebo skripty Azure CLI, které ukazují, jak můžete spravovat alias DNS pro logický server Azure SQL, který hostuje Azure SQL Database.

Alias DNS v připojovacím řetězci

Pokud chcete připojit logický sql server, klient, jako je SQL Server Management Studio (SSMS), může místo názvu skutečného serveru zadat alias DNS název. 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ří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.

Použijte Get-Module -ListAvailable Az v powershell_ise.exe k nalezení verze.

$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;