適用於 Azure SQL 資料庫 之 DNS 別名的 PowerShell
適用於:Azure SQL 資料庫
Azure Synapse Analytics
本文提供用於 Azure SQL 邏輯伺服器 的 Azure PowerShell Az 模組或 Azure CLI 腳本,示範如何管理 Azure SQL Database 的 DNS 別名。
連接字串中的 DNS 別名
若要連線 邏輯 SQL Server,SQL Server Management Studio (SSMS) 之類的用戶端可以提供 DNS 別名 名稱,而不是真正的伺服器名稱。 在下列範例伺服器字串中,別名any-unique-alias-name 會取代四個節點伺服器字串中的第一個點分隔節點:
<yourServer>.database.windows.net
必要條件
如果您想要執行本文所提供的示範 PowerShell 文稿,適用下列必要條件:
- 請參閱免費試用的 Azure 試用 以取得 Azure 訂閱和帳戶。
- 兩部 Azure SQL 邏輯伺服器
- 安裝 Azure PowerShell 模組 或 Azure CLI。
範例
下列程式代碼範例會先將常值指派給數個變數。
若要執行程式碼,請編輯佔位元值,以符合系統中的實際值。
使用的 cmdlet 如下:
- New-AzSqlServerDNSAlias:在 Azure SQL 資料庫 服務系統中建立 DNS 別名。 該別名指向伺服器 1。
- Get-AzSqlServerDNSAlias:取得並列出指派給伺服器 1 的所有別名。
- Set-AzSqlServerDNSAlias:修改別名所指向的伺服器名稱,從伺服器 1 改為伺服器 2。
- Remove-AzSqlServerDNSAlias:使用別名的名稱,從伺服器 2 移除別名。
如果您需要安裝或升級,請參閱安裝 Azure PowerShell 模組。
在 powershell_ise.exe 中使用 Get-Module -ListAvailable Az
,以尋找版本。
$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;
相關內容
- Azure SQL Database 的 DNS 別名