PowerShell untuk Alias DNS ke Azure SQL Database

Berlaku untuk:Azure SQL DatabaseAzure Synapse Analytics

Artikel ini menyediakan skrip PowerShell yang menunjukkan bagaimana Anda bisa mengelola alias DNS untuk server SQL yang menghosting Azure SQL Databases Anda.

Catatan

Artikel ini telah diperbarui untuk menggunakan modul Azure PowerShell Az atau Azure CLI. Anda masih bisa menggunakan modul AzureRM, yang akan terus menerima perbaikan bug hingga paling lambat bulan Desember 2020.

Untuk mempelajari selengkapnya tentang modul Az dan kompatibilitas AzureRM, lihat Memperkenalkan modul Azure PowerShell Az. Untuk instruksi instalasi, lihat Menginstal Azure PowerShell atau Menginstal Azure CLI.

Alias DNS dalam string koneksi

Untuk menyambungkan server SQL logis, klien seperti SQL Server Management Studio (SSMS) dapat memberikan nama alias DNS, bukan nama server yang sebenarnya. Dalam contoh string server berikut, alias any-unique-alias-name menggantikan node titik batas pertama dalam empat untai (karakter) server node:

<yourServer>.database.windows.net

Prasyarat

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

  • Langganan dan akun Azure, untuk uji coba gratis, lihat Coba gratis Azure
  • Dua server

Contoh

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

Untuk menjalankan kode, edit nilai tempat penampung agar sesuai dengan nilai riil 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;

Langkah berikutnya

Untuk penjelasan lengkap tentang fitur alias DNS untuk SQL Database, lihat Alias DNS untuk Azure SQL Database.