Share via


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-SqlVMsaçı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:

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.psm1kaydedin.

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.

Report

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 Machinelisteler.
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 Machinelistelenir.

Günlük

Hatalar adlı VMsNotRegisteredDueToError<Timestamp>.loggü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.psm1kaydedin.

Sonraki adımlar

Daha fazla bilgi edinmek için aşağıdaki makaleleri gözden geçirin: