Bagikan melalui


PowerShell untuk Alias DNS ke Azure SQL Database

Berlaku untuk:Azure SQL DatabaseAzure Synapse Analytics

Artikel ini menyediakan modul Azure PowerShell Az atau skrip Azure CLI untuk menunjukkan bagaimana Anda dapat mengelola alias DNS untuk server logis Azure SQL menghosting Azure SQL Database Anda.

Alias DNS dalam string koneksi

Untuk menyambungkan server SQL logis , klien seperti SQL Server Management Studio (SSMS) dapat menyediakan nama alias DNS alih-alih nama server yang sebenarnya. Dalam contoh string server berikut, alias any-unique-alias-name menggantikan node pertama yang dipisahkan oleh titik dalam untaian empat node server.

<yourServer>.database.windows.net

Prasyarat

Jika Anda ingin menjalankan skrip demo PowerShell yang diberikan dalam artikel ini, prasyarat berikut ini berlaku:

Contoh

Contoh kode berikut dimulai dengan menetapkan nilai harfiah ke beberapa variabel.

Untuk menjalankan kode, edit nilai variabel sementara agar sesuai dengan nilai riil yang ada di sistem Anda.

Cmdlet yang digunakan adalah sebagai berikut:

Untuk melakukan pemasangan atau peningkatan, lihat Memasang modul Azure PowerShell.

Gunakan Get-Module -ListAvailable Az di powershell_ise.exe, untuk menemukan versi.

$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;