Bagikan melalui


Mendaftarkan beberapa komputer virtual SQL di Azure dengan ekstensi Agen infrastruktur sebagai layanan SQL

Berlaku untuk: SQL Server di Azure VM

Artikel ini menjelaskan cara mendaftarkan mesin virtual SQL Server Anda secara massal di Azure dengan ekstensi Agen IaaS SQL menggunakan cmdlet Register-SqlVMsAzure PowerShell.

Atau, Anda dapat mendaftarkan semua komputer virtual SQL Server secara otomatis atau setiap komputer virtual SQL Server secara manual.

Catatan

Komputer virtual SQL Server yang disebarkan melalui marketplace Azure setelah Oktober 2022 memiliki model dengan hak istimewa paling sedikit yang diaktifkan secara default. Mode manajemen untuk ekstensi SQL IaaS Agent dihapus pada Maret 2023.

Gambaran Umum

Cmdlet Register-SqlVMs dapat digunakan untuk mendaftarkan semua komputer virtual dalam daftar langganan, grup sumber daya, atau daftar komputer virtual tertentu. Cmdlet akan mendaftarkan komputer virtual dan kemudian menghasilkan laporan dan file log.

Proses pendaftaran tidak membawa risiko, tidak memiliki waktu henti, dan tidak akan memulai ulang layanan SQL Server atau komputer virtual.

Secara default, Azure VM dengan SQL Server 2016 atau yang lebih baru secara otomatis terdaftar dengan ekstensi Agen IaaS SQL saat terdeteksi oleh layanan CEIP. Anda dapat menggunakan pendaftaran massal untuk mendaftarkan komputer virtual SQL Server apa pun yang tidak terdeteksi oleh layanan CEIP.

Untuk informasi tentang privasi, lihat pernyataan privasi ekstensi SQL IaaS Agent.

Prasyarat

Untuk mendaftarkan komputer virtual SQL Server ke ekstensi, Anda akan memerlukan:

  • Langganan Azure yang telah terdaftar di penyedia sumber daya Microsoft.SqlVirtualMachine dan berisi mesin virtual SQL Server yang tidak terdaftar.
  • Pastikan Azure VM berjalan.
  • Mandat klien yang digunakan untuk mendaftarkan komputer virtual ada di salah satu peran Azure berikut: Kontributor Komputer Virtual, Kontributor, atau Pemilik.
  • Az PowerShell 5.0 - versi yang lebih tinggi dari 5.0 saat ini hanya mendukung MFA dan tidak kompatibel dengan skrip untuk mendaftarkan beberapa VM.

Memulai

Sebelum melanjutkan, Anda harus terlebih dahulu membuat salinan lokal skrip, mengimpornya sebagai modul PowerShell, dan tersambung ke Azure.

Membuat skrip

Untuk membuat skrip, salin skrip lengkap dari bagian akhir artikel ini dan simpan secara lokal sebagai RegisterSqlVMs.psm1.

Mengimpor skrip

Setelah skrip dibuat, Anda dapat mengimpornya sebagai modul di terminal PowerShell.

Buka terminal PowerShell administratif dan navigasi tempat Anda menyimpan file RegisterSqlVMs.psm1. Kemudian, jalankan cmdlet PowerShell berikut untuk mengimpor skrip sebagai modul:

Import-Module .\RegisterSqlVMs.psm1

Hubungkan ke Azure

Gunakan cmdlet PowerShell berikut ini untuk tersambung ke Azure:

Connect-AzAccount

Semua komputer virtual dalam daftar langganan

Gunakan cmdlet berikut untuk mendaftarkan semua komputer virtual SQL Server dalam daftar langganan:

Register-SqlVMs -SubscriptionList SubscriptionId1,SubscriptionId2

Contoh output:

Number of subscriptions registration failed for 
because you do not have access or credentials are wrong: 1
Total VMs Found: 10
VMs Already registered: 1
Number of VMs registered successfully: 4
Number of VMs failed to register due to error: 1
Number of VMs skipped as VM or the guest agent on VM is not running: 3
Number of VMs skipped as they are not running SQL Server On Windows: 1

Please find the detailed report in file RegisterSqlVMScriptReport1571314821.txt
Please find the error details in file VMsNotRegisteredDueToError1571314821.log

Semua komputer virtual dalam satu langganan

Gunakan cmdlet berikut untuk mendaftarkan semua komputer virtual SQL Server dalam satu langganan:

Register-SqlVMs -Subscription SubscriptionId1

Contoh output:

Total VMs Found: 10
VMs Already registered: 1
Number of VMs registered successfully: 5
Number of VMs failed to register due to error: 1
Number of VMs skipped as VM or the  guest agent on VM is not running: 2
Number of VMs skipped as they are not running SQL Server On Windows: 1

Please find the detailed report in file RegisterSqlVMScriptReport1571314821.txt
Please find the error details in file VMsNotRegisteredDueToError1571314821.log

Semua komputer virtual dalam beberapa grup sumber daya

Gunakan cmdlet berikut untuk mendaftarkan semua komputer virtual SQL Server dalam beberapa grup sumber daya dalam satu langganan:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupList ResourceGroup1,ResourceGroup2

Contoh output:

Total VMs Found: 4
VMs Already registered: 1
Number of VMs registered successfully: 1
Number of VMs failed to register due to error: 1
Number of VMs skipped as they are not running SQL Server On Windows: 1

Please find the detailed report in file RegisterSqlVMScriptReport1571314821.txt
Please find the error details in file VMsNotRegisteredDueToError1571314821.log

Semua komputer virtual dalam grup sumber daya

Gunakan cmdlet berikut untuk mendaftarkan semua komputer virtual SQL Server dalam satu grup sumber daya:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1

Contoh output:

Total VMs Found: 4
VMs Already registered: 1
Number of VMs registered successfully: 1
Number of VMs failed to register due to error: 1
Number of VMs skipped as VM or the guest agent on VM is not running: 1

Please find the detailed report in file RegisterSqlVMScriptReport1571314821.txt
Please find the error details in file VMsNotRegisteredDueToError1571314821.log

Komputer virtual tertentu dalam satu grup sumber daya

Gunakan cmdlet berikut untuk mendaftarkan komputer virtual SQL Server tertentu dalam satu grup sumber daya:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1 -VmList VM1,VM2,VM3

Contoh output:

Total VMs Found: 3
VMs Already registered: 0
Number of VMs registered successfully: 1
Number of VMs skipped as VM or the guest agent on VM is not running: 1
Number of VMs skipped as they are not running SQL Server On Windows: 1

Please find the detailed report in file RegisterSqlVMScriptReport1571314821.txt
Please find the error details in file VMsNotRegisteredDueToError1571314821.log

Komputer virtual tertentu

Gunakan cmdlet berikut untuk mendaftarkan komputer virtual SQL Server tertentu:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1 -Name VM1

Contoh output:

Total VMs Found: 1
VMs Already registered: 0
Number of VMs registered successfully: 1

Please find the detailed report in  file RegisterSqlVMScriptReport1571314821.txt

Deskripsi output

Laporan dan file log dihasilkan setiap kali cmdlet Register-SqlVMs digunakan.

Laporan

Laporan dihasilkan sebagai file .txt yang bernama RegisterSqlVMScriptReport<Timestamp>.txt di mana tanda waktu adalah waktu ketika cmdlet dimulai. Laporan mencantumkan detail berikut:

Nilai output Keterangan
Jumlah pendaftaran langganan gagal karena Anda tidak memiliki akses atau mandat yang salah Hal ini menyediakan jumlah dan daftar langganan yang memiliki masalah dengan autentikasi yang disediakan. Kesalahan terperinci dapat ditemukan di log dengan mencari ID langganan.
Jumlah langganan yang tidak dapat dicoba karena tidak terdaftar ke penyedia sumber daya Bagian ini berisi jumlah dan daftar langganan yang belum didaftarkan ke ekstensi Agen infrastruktur sebagai layanan SQL.
Total komputer virtual yang ditemukan Jumlah komputer virtual yang ditemukan dalam cakupan parameter diteruskan ke cmdlet.
Komputer virtual yang sudah terdaftar Jumlah komputer virtual yang dilewati karena sudah terdaftar dengan ekstensi.
Jumlah komputer virtual yang berhasil didaftarkan Jumlah komputer virtual yang berhasil didaftarkan setelah menjalankan cmdlet. Mencantumkan komputer virtual terdaftar dalam format SubscriptionID, Resource Group, Virtual Machine.
Jumlah komputer virtual yang gagal didaftarkan karena terjadi kesalahan Jumlah komputer virtual yang gagal didaftarkan karena beberapa kesalahan. Detail kesalahan dapat ditemukan dalam file log.
Jumlah komputer virtual yang dilewati sebagai komputer virtual atau agen tamu pada komputer virtual tidak berjalan Jumlah dan daftar komputer virtual yang tidak dapat didaftarkan sebagai komputer virtual atau agen tamu di komputer virtual yang tidak berjalan. Ini dapat dicoba kembali setelah komputer virtual atau agen tamu telah dimulai. Detail dapat ditemukan dalam file log.
Jumlah komputer virtual yang dilewati karena tidak menjalankan SQL Server di Windows Jumlah komputer virtual yang dilewati karena tidak menjalankan SQL Server atau bukan komputer virtual Windows. Komputer virtual dicantumkan dalam format SubscriptionID, Resource Group, Virtual Machine.

Log

Kesalahan dicatat dalam file log bernama VMsNotRegisteredDueToError<Timestamp>.log, di mana tanda waktu adalah waktu ketika skrip dimulai. Jika kesalahan berada di tingkat langganan, log berisi ID Langganan dan pesan kesalahan yang dipisahkan koma. Jika kesalahan terkait pendaftaran komputer virtual, log berisi ID Langganan, nama grup Sumber Daya, nama komputer virtual, kode kesalahan, dan pesan yang dipisahkan koma.

Keterangan

Saat Anda mendaftarkan komputer virtual SQL Server dengan ekstensi dengan menggunakan skrip yang disediakan, pertimbangkan hal berikut:

  • Pendaftaran dengan ekstensi memerlukan agen tamu yang berjalan di komputer virtual SQL Server. Citra Windows Server 2008 tidak memiliki agen tamu, sehingga komputer virtual ini akan gagal dan harus didaftarkan secara manual dengan fungsionalitas terbatas.
  • Tersedia logika percobaan kembali bawaan untuk menangani kesalahan transparan. Jika komputer virtual berhasil didaftarkan, maka itu adalah operasi cepat. Namun, jika pendaftaran gagal, maka setiap komputer virtual akan dicoba kembali. Dengan demikian, Anda harus menyediakan waktu yang signifikan untuk menyelesaikan proses pendaftaran - meskipun persyaratan waktu aktual tergantung pada jenis dan jumlah kesalahan.

Skrip lengkap

Untuk skrip lengkap di GitHub, lihat Mendaftarkan komputer virtual SQL Server secara massal dengan Az PowerShell.

Salin skrip lengkap dan simpan sebagai RegisterSqLVMs.psm1.

Langkah berikutnya

Untuk mempelajari selengkapnya, tinjau artikel berikut: