PowerShell con alias DNS para Azure SQL Database

Se aplica a:Azure SQL DatabaseAzure Synapse Analytics

En este artículo se proporciona un script de PowerShell que muestra cómo puede administrar un alias DNS para el servidor SQL que hospeda su instancia de Azure SQL Database.

Nota

Este artículo se ha actualizado para usar el nuevo módulo Az de Azure PowerShell o la CLI de Azure. Aún puede usar el módulo de AzureRM que continuará recibiendo correcciones de errores hasta diciembre de 2020 como mínimo.

Para obtener más información acerca del módulo Az y la compatibilidad con AzureRM, vea Presentación del módulo Az de Azure PowerShell. Para obtener instrucciones sobre la instalación, vea Instalación de Azure PowerShell o Instalación de la CLI de Azure.

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:

  • Una suscripción y una cuenta de Azure, para una evaluación gratuita, vea pruebas de Azure.
  • Dos servidores

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;

Pasos siguientes

Para obtener una explicación completa de la característica de alias DNS para SQL Database, consulte Alias DNS para Azure SQL Database.