PowerShell und Azure CLI für den DNS-Alias für eigenständige dedizierte SQL-Pools (früher SQL DW)

Tip

Microsoft Fabric Data Warehouse ist ein relationales Enterprise-Warehouse auf einem Data Lake-Fundament mit zukunftsfähiger Architektur, integrierter KI und neuen Features. Wenn Sie mit Data Warehouse noch nicht vertraut sind, beginnen Sie mit Fabric Data Warehouse. Vorhandene dedizierte SQL-Pool-Workloads können auf Fabric aktualisieren, um neue Funktionen in den Bereichen Data Science, Echtzeitanalyse und Berichterstellung zu nutzen.

Dieser Artikel enthält Azure PowerShell Az-Modul oder Azure CLI Skripts, um zu veranschaulichen, wie Sie einen DNS-Alias für den logischen Server Azure SQL verwalten können, der Ihren eigenständigen dedizierten SQL-Pool hosten kann.

Nur eigenständige dedizierte SQL-Pools (ehemals DW) unterstützen den DNS-Alias des logischen Azure SQL-Servers. Für dedizierte SQL-Pools in Azure Synapse Arbeitsbereichen wird der DNS-Alias derzeit nicht unterstützt. Wo liegt der Unterschied?

DNS-Alias in der Verbindungszeichenfolge

Um einen logischen SQL-Server zu verbinden, kann ein Client wie SQL Server Management Studio (SSMS) den DNS-Aliasnamen anstelle des tatsächlichen Servernamens angeben. In der folgenden Beispiel-Serverzeichenfolge ersetzt der Alias any-unique-alias-name den ersten Punkt-getrennten Knoten in der Serverzeichenfolge, die aus vier Knoten besteht:

<yourServer>.database.windows.net

Voraussetzungen

Um das in diesem Artikel angegebene Demo-PowerShell-Skript auszuführen, stellen Sie die folgenden Voraussetzungen sicher:

Example

Im folgenden Codebeispiel werden mehreren Variablen zunächst Literalwerte zugewiesen.

Um den Code auszuführen, ändern Sie die Platzhalterwerte in die entsprechenden tatsächlichen Werte in Ihrem System.

Verwenden Sie die folgenden Cmdlets:

Informationen zum Installieren oder Upgraden finden Sie unter Installieren und Konfigurieren von Azure PowerShell.

Verwenden Sie Get-Module -ListAvailable Az in powershell_ise.exe, um die Version zu finden.

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