Azure SQL Database を参照する DNS エイリアス用の PowerShell
適用対象:Azure SQL データベース
Azure Synapse Analytics
この記事では、Azure SQL Database をホストする azure SQL 論理サーバー
接続文字列内の DNS エイリアス
<yourServer>.database.windows.net
前提条件
この記事で紹介した PowerShell デモ スクリプトを実行する際は、次の前提条件となるものを用意する必要があります。
- Azure のサブスクリプションとアカウント。無料試用版については、Azure の試用版に関するページを参照してください。
- 2 つの Azure SQL 論理サーバー
- Azure PowerShell モジュール または Azure CLIをインストールします。
例
次のコード例は、複数の変数にリテラル値を割り当てることから始まっています。
コードを実行するには、すべてのプレースホルダーの値をシステム内の実際の値と一致するように編集します。
使用されているコマンドレットを次に示します。
- New-AzSqlServerDNSAlias:Azure SQL Database サービス システム内に DNS エイリアスを作成します。 このエイリアスはサーバー 1 を参照します。
- Get-AzSqlServerDNSAlias:サーバー 1 に割り当てられているすべてのエイリアスを取得して一覧表示します。
- Set-AzSqlServerDNSAlias:エイリアスによって参照されるように構成されているサーバー名を、サーバー 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;