Управление псевдонимом DNS для Базы данных SQL Azure с помощью PowerShell
Область применения: База данных SQL Azure
Azure Synapse Analytics
В этой статье представлены скрипты для Azure PowerShell Az или Azure CLI, демонстрирующие, как можно управлять псевдонимом DNS для логического сервера Azure SQL , который размещает вашу базу данных Azure SQL.
Использование псевдонима DNS в строке подключения
Чтобы подключить логический сервер SQL Server, клиент, например SQL Server Management Studio (SSMS), может предоставить псевдоним DNS вместо имени истинного сервера. В следующем примере псевдоним any-unique-alias-name заменяет имя первого узла с разделителями-точками в строке сервера с четырьмя узлами.
<yourServer>.database.windows.net
Необходимые компоненты
Чтобы выполнить пример скрипта PowerShell, приведенный в этой статье, потребуются следующие компоненты:
- Подписка и учетная запись Azure для бесплатной пробной версии см. в статье Пробная версия Azure.
- Два логических сервера SQL Azure
- Установите модуль Azure PowerShell или Azure CLI.
Пример
Следующий пример кода начинается с присвоения литеральных значений нескольким переменным.
Чтобы запустить код, отредактируйте значения заполнителей, чтобы они соответствовали реальным значениям в вашей системе.
Используются следующие командлеты:
- 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;