Compartir a través de


PowerShell con alias DNS para Azure SQL Database

Se aplica a:Azure SQL DatabaseAzure Synapse Analytics

En este artículo se proporcionan scripts del módulo Az de Azure PowerShell o de la CLI de Azure para demostrar cómo puede administrar un alias DNS para el servidor lógico de Azure SQL que hospeda Azure SQL Database.

Alias DNS en la cadena de conexión

Para conectarse a un servidor SQL lógico, un cliente como SQL Server Management Studio (SSMS) puede proporcionar el nombre del alias DNS en lugar del nombre verdadero del servidor. En la siguiente cadena de servidor de ejemplo, el alias any-unique-alias-name reemplaza al primer nodo delimitado por puntos en la cadena de servidor de cuatro nodos:

<yourServer>.database.windows.net

Requisitos previos

Si quiere ejecutar el script de PowerShell dado en este artículo, se aplican los siguientes requisitos previos:

Ejemplo

El ejemplo de código siguiente se inicia mediante la asignación de valores literales a varias variables.

Para ejecutar el código, edite los valores de marcador de posición para que coincidan con los valores reales en el sistema.

Los cmdlets que se usan son los siguientes:

Si necesita instalarla o actualizarla, consulte Instalación y configuración de Azure PowerShell.

Use Get-Module -ListAvailable Az en powershell_ise.exe para encontrar la versión.

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