你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Tip
Microsoft Fabric Data Warehouse是数据湖基础上的企业规模关系仓库,具有未来就绪的体系结构、内置 AI 和新功能。 如果不熟悉数据仓库,请从Fabric Data Warehouse开始。 现有的指定 SQL 池工作负荷可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。
本文提供了 Azure PowerShell Az 模块或Azure CLI脚本,演示如何管理托管独立专用 SQL 池的 Azure SQL 逻辑服务器的 DNS 别名。
只有独立的专用 SQL 池(以前称为 DW)支持 Azure SQL 逻辑服务器 DNS 别名。 对于Azure Synapse工作区中的专用 SQL 池,目前不支持 DNS 别名。 区别是什么?
连接字符串中的 DNS 别名
若要连接逻辑 SQL 服务器,客户端(如 SQL Server Management Studio (SSMS))可以提供 DNS 别名名称而不是真正的服务器名称。 在下面的示例服务器字符串中,别名 任意唯一别名名称 替换包含四个节点的服务器字符串中的第一个以点分隔的节点。
<yourServer>.database.windows.net
先决条件
若要运行本文中提供的演示 PowerShell 脚本,请确保满足以下先决条件:
- 一个 Azure 订阅和帐户。 有关免费试用,请参阅 Azure 试用版。
- 包含独立专用 SQL 池的两个Azure SQL逻辑服务器。
- 安装 Azure PowerShell 模块 或 Azure CLI。
示例
以下代码示例一开始就将文字值分配给多个变量。
若要运行此代码,请编辑占位符值,使之与系统中的实际值匹配。
使用以下 cmdlet:
- New-AzSqlServerDNSAlias:创建 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;