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-SqlVMs
Azure 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
- Tinjau manfaat yang disediakan oleh ekstensi SQL IaaS Agent.
- Mendaftarkan satu VM secara manual
- Mendaftarkan semua VM secara otomatis dalam langganan.
- Memecahkan masalah yang diketahui dengan ekstensi.
- Tinjau pernyataan privasi ekstensi SQL IaaS Agent.
- Tinjau daftar periksa praktik terbaik untuk mengoptimalkan performa dan keamanan.
Untuk mempelajari selengkapnya, tinjau artikel berikut: