Управление псевдонимом DNS для Базы данных SQL Azure с помощью PowerShell

Область применения:База данныхSQL Azure Synapse Analytics

В этой статье представлен скрипт PowerShell, на примере которого показано, как управлять псевдонимом DNS для сервера SQL данных, держащим базу данных SQL Azure.

Примечание.

Эта статья была обновлена для использования модуля Azure PowerShell Az или Azure CLI. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.

Дополнительные сведения о совместимости модуля Az с AzureRM см. в статье Знакомство с модулем Az для Azure PowerShell. См. инструкции по установке Azure PowerShell или Azure CLI.

Использование псевдонима DNS в строке подключения

Чтобы подключить определенный сервер SQL, клиент (например, SQL Server Management Studio) может указать псевдоним DNS вместо действительного имени сервера. В следующем примере псевдоним any-unique-alias-name заменяет имя первого узла с разделителями-точками в строке сервера с четырьмя узлами.

<yourServer>.database.windows.net

Предварительные требования

Чтобы выполнить пример скрипта PowerShell, приведенный в этой статье, потребуются следующие компоненты:

  • Подписка и учетная запись Azure для бесплатной пробной версии см. в статье Пробная версия Azure.
  • Два сервера

Пример

Следующий пример кода начинается с присвоения литеральных значений нескольким переменным.

Чтобы запустить код, отредактируйте значения заполнителей, чтобы они соответствовали реальным значениям в вашей системе.

Используются следующие командлеты:

  • New-AzSqlServerDNSAlias: создает псевдоним DNS в системе службы "База данных SQL Azure". Псевдоним относится к серверу 1.
  • Get-AzSqlServerDNSAlias: получить и добавить в список все псевдонимы присвоенные серверу 1.
  • Set-AzureRMSqlServerDNSAlias: изменяет имя сервера базы данных SQL, на который ссылается псевдоним, с "Сервер 1" на "Сервер 2".
  • Remove-AzSqlServerDNSAlias: удалите псевдоним с сервера 2, используя имя псевдонима.

Чтобы выполнить установку или обновление, см. статью Установка и настройка Azure PowerShell.

Используйте Get-Module -ListAvailable Az в файле 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;

Дальнейшие действия

Полное описание функции псевдонима DNS для Базы данных SQL см. в статье Псевдоним DNS для базы данных SQL Azure.