SQL IaaS Aracısı uzantısıyla Azure'da birden çok SQL VM'sini kaydetme
Şunlar için geçerlidir: Azure VM'de SQL Server
Bu makalede, Azure PowerShell cmdlet'ini kullanarak SQL Server sanal makinelerinizi (VM) SQL IaaS Aracısı uzantısıyla Azure'da toplu olarak kaydetme adımları Register-SqlVMs
açıklanmaktadır.
Alternatif olarak, tüm SQL Server VM'lerini otomatik olarak veya tek tek SQL Server VM'lerini el ile kaydedebilirsiniz.
Not
Ekim 2022'ye kadar Azure market üzerinden dağıtılan SQL Server VM'leri varsayılan olarak en düşük ayrıcalıklı modele sahiptir. SQL IaaS Aracısı uzantısının yönetim modları Mart 2023'te kaldırıldı.
Genel bakış
Register-SqlVMs
Cmdlet, belirli bir abonelikler, kaynak grupları veya belirli sanal makineler listesindeki tüm sanal makineleri kaydetmek için kullanılabilir. cmdlet'i sanal makineleri kaydeder ve ardından hem rapor hem de günlük dosyası oluşturur.
Kayıt işlemi hiçbir risk taşımaz, kapalı kalma süresi yoktur ve SQL Server hizmetini veya sanal makineyi yeniden başlatmaz.
Varsayılan olarak, SQL Server 2016 veya sonraki sürümlerine sahip Azure VM'leri, CEIP hizmeti tarafından algılandığında SQL IaaS Aracısı uzantısına otomatik olarak kaydedilir. CEIP hizmeti tarafından algılanmayan TÜM SQL Server VM'lerini kaydetmek için toplu kayıt kullanabilirsiniz.
Gizlilik hakkında bilgi için bkz . SQL IaaS Aracısı uzantısı gizlilik bildirimleri.
Önkoşullar
SQL Server VM'nizi uzantıyla kaydetmek için aşağıdakilere ihtiyacınız vardır:
- Microsoft.SqlVirtualMachine kaynak sağlayıcısına kaydedilmiş ve kaydedilmemiş SQL Server sanal makineleri içeren bir Azure aboneliği.
- Azure VM'nin çalıştığından emin olun.
- Sanal makineleri kaydetmek için kullanılan istemci kimlik bilgileri şu Azure rollerinden birinde bulunur: Sanal Makine katkıda bulunanı, Katkıda Bulunanı veya Sahip.
- Az PowerShell 5.0 - 5.0'dan yüksek sürümler şu anda yalnızca MFA'yi destekler ve birden çok VM'yi kaydetmek için betikle uyumlu değildir.
Kullanmaya başlayın
Devam etmeden önce betiğin yerel bir kopyasını oluşturmanız, powershell modülü olarak içeri aktarmanız ve Azure'a bağlanmanız gerekir.
Betiği oluşturma
Betiği oluşturmak için, bu makalenin sonundaki betiğin tamamını kopyalayın ve yerel olarak olarak RegisterSqlVMs.psm1
kaydedin.
Betiği içeri aktarma
Betik oluşturulduktan sonra PowerShell terminalinde modül olarak içeri aktarabilirsiniz.
Bir yönetim PowerShell terminali açın ve dosyayı kaydettiğiniz RegisterSqlVMs.psm1
yere gidin. Ardından, betiği modül olarak içeri aktarmak için aşağıdaki PowerShell cmdlet'ini çalıştırın:
Import-Module .\RegisterSqlVMs.psm1
Azure'a bağlanma
Azure'a bağlanmak için aşağıdaki PowerShell cmdlet'ini kullanın:
Connect-AzAccount
Abonelik listesindeki tüm VM'ler
Tüm SQL Server sanal makinelerini abonelik listesine kaydetmek için aşağıdaki cmdlet'i kullanın:
Register-SqlVMs -SubscriptionList SubscriptionId1,SubscriptionId2
Örnek çıkış:
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
Tek bir abonelikteki tüm VM'ler
Tüm SQL Server sanal makinelerini tek bir aboneliğe kaydetmek için aşağıdaki cmdlet'i kullanın:
Register-SqlVMs -Subscription SubscriptionId1
Örnek çıkış:
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
Birden çok kaynak grubundaki tüm VM'ler
Tüm SQL Server sanal makinelerini tek bir abonelik içinde birden çok kaynak grubuna kaydetmek için aşağıdaki cmdlet'i kullanın:
Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupList ResourceGroup1,ResourceGroup2
Örnek çıkış:
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
Kaynak grubundaki tüm VM'ler
Tüm SQL Server sanal makinelerini tek bir kaynak grubuna kaydetmek için aşağıdaki cmdlet'i kullanın:
Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1
Örnek çıkış:
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
Tek bir kaynak grubundaki belirli VM'ler
Belirli SQL Server sanal makinelerini tek bir kaynak grubuna kaydetmek için aşağıdaki cmdlet'i kullanın:
Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1 -VmList VM1,VM2,VM3
Örnek çıkış:
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
Belirli bir VM
Belirli bir SQL Server sanal makinesini kaydetmek için aşağıdaki cmdlet'i kullanın:
Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1 -Name VM1
Örnek çıkış:
Total VMs Found: 1
VMs Already registered: 0
Number of VMs registered successfully: 1
Please find the detailed report in file RegisterSqlVMScriptReport1571314821.txt
Çıkış açıklaması
Cmdlet her Register-SqlVMs
kullanıldığında hem rapor hem de günlük dosyası oluşturulur.
Rapor
Rapor, zaman damgasının cmdlet'in başlatıldığı zaman olduğu adlı RegisterSqlVMScriptReport<Timestamp>.txt
bir .txt
dosya olarak oluşturulur. Raporda aşağıdaki ayrıntılar listelenir:
Çıkış değeri | Açıklama |
---|---|
Erişiminiz olmadığından veya kimlik bilgileriniz yanlış olduğundan abonelik kaydı başarısız oldu | Bu, sağlanan kimlik doğrulamasıyla ilgili sorunları olan aboneliklerin sayısını ve listesini sağlar. Ayrıntılı hata, abonelik kimliğini arayarak günlükte bulunabilir. |
Kaynak sağlayıcısına kaydedilmedikleri için denenemeyen abonelik sayısı | Bu bölüm, SQL IaaS Aracısı uzantısına kaydedilmemiş aboneliklerin sayısını ve listesini içerir. |
Bulunan toplam VM sayısı | cmdlet'ine geçirilen parametrelerin kapsamında bulunan sanal makinelerin sayısı. |
VM'ler zaten kayıtlı | Uzantıya zaten kayıtlı oldukları için atlanan sanal makinelerin sayısı. |
Başarıyla kaydedilen VM sayısı | cmdlet'i çalıştırıldıktan sonra başarıyla kaydedilen sanal makinelerin sayısı. Kayıtlı sanal makineleri biçiminde SubscriptionID, Resource Group, Virtual Machine listeler. |
Hata nedeniyle kaydedilemeyen VM sayısı | Bazı hatalardan dolayı kaydedilemeyen sanal makinelerin sayısı. Hatanın ayrıntıları günlük dosyasında bulunabilir. |
VM veya VM üzerindeki gust aracısı çalışmıyor olarak atlanan VM sayısı | Sanal makine veya sanal makinedeki konuk aracı çalışmıyordu olarak kaydedilemeyen sanal makinelerin sayısı ve listesi. Sanal makine veya konuk aracısı başlatıldıktan sonra bunlar yeniden denenebilir. Ayrıntılar günlük dosyasında bulunabilir. |
Windows üzerinde SQL Server çalıştırılmadığından atlanan VM sayısı | SQL Server çalıştırılmadığından veya Windows sanal makinesi olmadığından atlanan sanal makinelerin sayısı. Sanal makineler biçiminde SubscriptionID, Resource Group, Virtual Machine listelenir. |
Günlük
Hatalar adlı VMsNotRegisteredDueToError<Timestamp>.log
günlük dosyasına kaydedilir; burada zaman damgası betiğin başlatıldığı zamandır. Hata abonelik düzeyindeyse, günlük virgülle ayrılmış Abonelik Kimliğini ve hata iletisini içerir. Hata sanal makine kaydındaysa, günlük Abonelik Kimliği, Kaynak grubu adı, sanal makine adı, hata kodu ve virgülle ayrılmış iletiyi içerir.
Açıklamalar
Sağlanan betiği kullanarak SQL Server VM'lerini uzantıya kaydederken aşağıdakileri göz önünde bulundurun:
- Uzantıya kayıt için SQL Server VM'sinde çalışan bir konuk aracısı gerekir. Windows Server 2008 görüntülerinin konuk aracısı yoktur, bu nedenle bu sanal makineler başarısız olur ve sınırlı işlevsellikle el ile kaydedilmesi gerekir.
- Saydam hataların üstesinden gelmek için yerleşik yeniden deneme mantığı vardır. Sanal makine başarıyla kaydedildiyse, hızlı bir işlemdir. Ancak kayıt başarısız olursa her sanal makine yeniden denenecektir. Bu nedenle, kayıt işlemini tamamlamak için önemli bir süre vermelisiniz; ancak gerçek zaman gereksinimi hata türüne ve sayısına bağlıdır.
Tam betik
GitHub'da tam betik için bkz . Az PowerShell ile SQL Server VM'lerini toplu kaydetme.
Betiğin tamamını kopyalayın ve olarak RegisterSqLVMs.psm1
kaydedin.
Sonraki adımlar
- SQL IaaS Aracısı uzantısı tarafından sağlanan avantajları gözden geçirin.
- Tek bir VM'i el ile kaydetme
- Abonelikteki tüm VM'leri otomatik olarak kaydedin.
- Uzantıyla ilgili bilinen sorunları giderin.
- SQL IaaS Aracısı uzantısı gizlilik bildirimlerini gözden geçirin.
- Performansı ve güvenliği iyileştirmek için en iyi yöntemler denetim listesini gözden geçirin.
Daha fazla bilgi edinmek için aşağıdaki makaleleri gözden geçirin:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin