Sdílet prostřednictvím


Registrace několika virtuálních počítačů SQL v Azure s rozšířením agenta SQL IaaS

Platí pro:SQL Server na virtuálním počítači Azure

Tento článek popisuje, jak hromadně zaregistrovat virtuální počítače s SQL Serverem v Azure pomocí rozšíření agenta SQL IaaS pomocí rutiny Azure PowerShellu Register-SqlVMs.

Alternativně můžete ručně zaregistrovat všechny virtuální počítače s SQL Serverem nebo jednotlivé virtuální počítače s SQL Serverem.

Poznámka:

Virtuální počítače s SQL Serverem nasazené přes Azure Marketplace po říjnu 2022 mají ve výchozím nastavení povolený nejméně privilegovaný model . Režimy správy pro rozšíření agenta SQL IaaS byly odebrány v březnu 2023.

Přehled

Tuto Register-SqlVMs rutinu můžete použít k registraci všech virtuálních počítačů v daném seznamu předplatných, skupin prostředků nebo seznamu konkrétních virtuálních počítačů. Rutina zaregistruje virtuální počítače a pak vygeneruje sestavu i soubor protokolu.

Proces registrace nemá žádné riziko, nemá žádný výpadek a nerestartuje službu SQL Serveru ani virtuální počítač.

Ve výchozím nastavení se virtuální počítače Azure s SQL Serverem 2016 nebo novějším automaticky registrují s rozšířením agenta SQL IaaS při zjištění službou CEIP. Hromadnou registraci můžete použít k registraci všech virtuálních počítačů s SQL Serverem, které služba CEIP nezjistí.

Informace o ochraně osobních údajů najdete v prohlášeních o zásadách ochrany osobních údajů rozšíření agenta SQL IaaS.

Požadavky

K registraci virtuálního počítače s SQL Serverem s rozšířením budete potřebovat následující:

  • Předplatné Azure zaregistrované u poskytovatele prostředků Microsoft.SqlVirtualMachine a obsahuje neregistrované virtuální počítače s SQL Serverem.
  • Ujistěte se, že je virtuální počítač Azure spuštěný.
  • Přihlašovací údaje klienta používané k registraci virtuálních počítačů existují v některé z následujících rolí Azure: Přispěvatel virtuálních počítačů, Přispěvatel nebo Vlastník.
  • Az PowerShell 5.0 – verze vyšší než 5.0 aktuálně podporují vícefaktorové ověřování a nejsou kompatibilní se skriptem pro registraci více virtuálních počítačů.

Začínáme

Než budete pokračovat, musíte nejprve vytvořit místní kopii skriptu, importovat ho jako modul PowerShellu a připojit se k Azure.

Vytvoření skriptu

Chcete-li vytvořit skript, zkopírujte celý skript z konce tohoto článku a uložte ho místně jako RegisterSqlVMs.psm1.

Import skriptu

Po vytvoření skriptu ho můžete importovat jako modul v terminálu PowerShellu.

Otevřete terminál PowerShellu pro správu a přejděte do umístění, kam jste soubor uložili RegisterSqlVMs.psm1 . Pak spuštěním následující rutiny PowerShellu naimportujte skript jako modul:

Import-Module .\RegisterSqlVMs.psm1

Připojení k Azure

Pomocí následující rutiny PowerShellu se připojte k Azure:

Connect-AzAccount

Všechny virtuální počítače v seznamu předplatných

Pomocí následující rutiny zaregistrujte všechny virtuální počítače s SQL Serverem v seznamu předplatných:

Register-SqlVMs -SubscriptionList SubscriptionId1,SubscriptionId2

Příklad výstupu:

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

Všechny virtuální počítače v jednom předplatném

Pomocí následující rutiny zaregistrujte všechny virtuální počítače s SQL Serverem v jednom předplatném:

Register-SqlVMs -Subscription SubscriptionId1

Příklad výstupu:

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

Všechny virtuální počítače v několika skupinách prostředků

Pomocí následující rutiny zaregistrujte všechny virtuální počítače s SQL Serverem v několika skupinách prostředků v rámci jednoho předplatného:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupList ResourceGroup1,ResourceGroup2

Příklad výstupu:

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

Všechny virtuální počítače ve skupině prostředků

Pomocí následující rutiny zaregistrujte všechny virtuální počítače s SQL Serverem v jedné skupině prostředků:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1

Příklad výstupu:

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

Konkrétní virtuální počítače v jedné skupině prostředků

Pomocí následující rutiny zaregistrujte konkrétní virtuální počítače s SQL Serverem v rámci jedné skupiny prostředků:

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

Příklad výstupu:

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

Konkrétní virtuální počítač

K registraci konkrétního virtuálního počítače s SQL Serverem použijte následující rutinu:

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

Příklad výstupu:

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

Please find the detailed report in  file RegisterSqlVMScriptReport1571314821.txt

Popis výstupu

Při každém Register-SqlVMs použití rutiny se vygeneruje sestava i soubor protokolu.

Report

Sestava se vygeneruje jako .txt soubor s názvem RegisterSqlVMScriptReport<Timestamp>.txt , ve kterém je časové razítko čas, kdy byla rutina spuštěna. Sestava obsahuje následující podrobnosti:

Výstupní hodnota Popis
Počet neúspěšných registrací předplatných, protože nemáte přístup nebo přihlašovací údaje jsou nesprávné Tím se zobrazí počet a seznam předplatných, u kterého došlo k problémům s poskytnutým ověřováním. Podrobnou chybu najdete v protokolu vyhledáním ID předplatného.
Počet předplatných, která se nepodařilo vyzkoušet, protože nejsou zaregistrovaná u poskytovatele prostředků Tato část obsahuje počet a seznam předplatných, která nebyla zaregistrovaná v rozšíření agenta SQL IaaS.
Celkový počet nalezených virtuálních počítačů Počet virtuálních počítačů nalezených v oboru parametrů předaných rutině.
Už zaregistrované virtuální počítače Početvirtuálních
Počet úspěšně zaregistrovaných virtuálních počítačů Počet virtuálních počítačů, které byly úspěšně zaregistrovány po spuštění rutiny. Zobrazí seznam registrovaných virtuálních počítačů ve formátu SubscriptionID, Resource Group, Virtual Machine.
Počet virtuálních počítačů se nepodařilo zaregistrovat kvůli chybě Počet virtuálních počítačů, které se nepodařilo zaregistrovat kvůli nějaké chybě Podrobnosti o chybě najdete v souboru protokolu.
Počet virtuálních počítačů přeskočených jako virtuální počítač nebo agent gust na virtuálním počítači není spuštěný Počet a seznam virtuálních počítačů, které se nedaly zaregistrovat jako virtuální počítač nebo agent hosta na virtuálním počítači, nebyly spuštěny. Tyto operace je možné opakovat po spuštění virtuálního počítače nebo agenta hosta. Podrobnosti najdete v souboru protokolu.
Počet přeskočených virtuálních počítačů, protože nepoužívají SQL Server ve Windows Počet virtuálních počítačů, které byly vynechány, protože nepoužívají SQL Server nebo nejsou virtuálním počítačem s Windows. Virtuální počítače jsou uvedeny ve formátu SubscriptionID, Resource Group, Virtual Machine.

Protokol

Chyby se protokolují v souboru protokolu s názvem VMsNotRegisteredDueToError<Timestamp>.log, kde časové razítko je čas spuštění skriptu. Pokud je chyba na úrovni předplatného, protokol obsahuje ID předplatného oddělené čárkami a chybovou zprávu. Pokud se jedná o chybu s registrací virtuálního počítače, protokol obsahuje ID předplatného, název skupiny prostředků, název virtuálního počítače, kód chyby a zprávu oddělenou čárkami.

Poznámky

Při registraci virtuálních počítačů s SQL Serverem s rozšířením pomocí poskytnutého skriptu zvažte následující:

  • Registrace s rozšířením vyžaduje agenta hosta spuštěného na virtuálním počítači s SQL Serverem. Image Windows Serveru 2008 nemají agenta hosta, takže tyto virtuální počítače selžou a musí být zaregistrovány ručně s omezenými funkcemi.
  • Existuje integrovaná logika opakování, která umožňuje překonat transparentní chyby. Pokud je virtuální počítač úspěšně zaregistrovaný, jedná se o rychlou operaci. Pokud se však registrace nezdaří, bude se opakovat každý virtuální počítač. Proto byste měli povolit významné množství času k dokončení procesu registrace, i když skutečný časový požadavek závisí na typu a počtu chyb.

Celý skript

Úplný skript na GitHubu najdete v tématu Hromadná registrace virtuálních počítačů s SQL Serverem pomocí Az PowerShellu.

Zkopírujte celý skript a uložte ho jako RegisterSqLVMs.psm1.

Další kroky

Další informace najdete v následujících článcích: