Registrera flera virtuella SQL-datorer i Azure med SQL IaaS Agent-tillägget

Gäller för:SQL Server på en virtuell Azure-dator

Den här artikeln beskriver hur du registrerar dina virtuella SQL Server-datorer i bulk i Azure med SQL IaaS Agent-tillägget med hjälp av Azure PowerShell-cmdleten Register-SqlVMs.

Du kan också registrera alla virtuella SQL Server-datorer automatiskt eller enskilda virtuella SQL Server-datorer manuellt.

Kommentar

Virtuella SQL Server-datorer som distribueras via Azure Marketplace efter oktober 2022 har den minst privilegierade modellen aktiverad som standard. Hanteringslägen för SQL IaaS Agent-tillägget togs bort i mars 2023.

Översikt

Cmdleten Register-SqlVMs kan användas för att registrera alla virtuella datorer i en viss lista över prenumerationer, resursgrupper eller en lista över specifika virtuella datorer. Cmdleten registrerar de virtuella datorerna och genererar sedan både en rapport och en loggfil.

Registreringsprocessen medför ingen risk, har ingen stilleståndstid och startar inte om SQL Server-tjänsten eller den virtuella datorn.

Som standard registreras virtuella Azure-datorer med SQL Server 2016 eller senare automatiskt med SQL IaaS Agent-tillägget när de identifieras av CEIP-tjänsten. Du kan använda massregistrering för att registrera alla virtuella SQL Server-datorer som inte identifieras av CEIP-tjänsten.

Information om sekretess finns i sekretesspolicyn för SQL IaaS Agent-tillägget.

Förutsättningar

Om du vill registrera din virtuella SQL Server-dator med tillägget behöver du följande:

  • En Azure-prenumeration som har registrerats hos resursprovidern Microsoft.SqlVirtualMachine och som innehåller oregistrerade virtuella SQL Server-datorer.
  • Kontrollera att den virtuella Azure-datorn körs.
  • Klientens autentiseringsuppgifter som används för att registrera de virtuella datorerna finns i någon av följande Azure-roller: Virtuell datordeltagare, Deltagare eller Ägare.
  • Az PowerShell 5.0 – versioner som är högre än 5.0 stöder för närvarande endast MFA och är inte kompatibla med skriptet för att registrera flera virtuella datorer.

Kom igång

Innan du fortsätter måste du först skapa en lokal kopia av skriptet, importera det som en PowerShell-modul och ansluta till Azure.

Skapa skriptet

Om du vill skapa skriptet kopierar du det fullständiga skriptet från slutet av den här artikeln och sparar det lokalt som RegisterSqlVMs.psm1.

Importera skriptet

När skriptet har skapats kan du importera det som en modul i PowerShell-terminalen.

Öppna en administrativ PowerShell-terminal och gå till platsen RegisterSqlVMs.psm1 där du sparade filen. Kör sedan följande PowerShell-cmdlet för att importera skriptet som en modul:

Import-Module .\RegisterSqlVMs.psm1

Ansluta till Azure

Använd följande PowerShell-cmdlet för att ansluta till Azure:

Connect-AzAccount

Alla virtuella datorer i en lista över prenumerationer

Använd följande cmdlet för att registrera alla virtuella SQL Server-datorer i en lista över prenumerationer:

Register-SqlVMs -SubscriptionList SubscriptionId1,SubscriptionId2

Exempel på utdata>

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

Alla virtuella datorer i en enda prenumeration

Använd följande cmdlet för att registrera alla virtuella SQL Server-datorer i en enda prenumeration:

Register-SqlVMs -Subscription SubscriptionId1

Exempel på utdata>

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

Alla virtuella datorer i flera resursgrupper

Använd följande cmdlet för att registrera alla virtuella SQL Server-datorer i flera resursgrupper i en enda prenumeration:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupList ResourceGroup1,ResourceGroup2

Exempel på utdata>

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

Alla virtuella datorer i en resursgrupp

Använd följande cmdlet för att registrera alla virtuella SQL Server-datorer i en enda resursgrupp:

Register-SqlVMs -Subscription SubscriptionId1 -ResourceGroupName ResourceGroup1

Exempel på utdata>

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

Specifika virtuella datorer i en enskild resursgrupp

Använd följande cmdlet för att registrera specifika virtuella SQL Server-datorer i en enda resursgrupp:

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

Exempel på utdata>

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

En specifik virtuell dator

Använd följande cmdlet för att registrera en specifik virtuell SQL Server-dator:

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

Exempel på utdata>

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

Please find the detailed report in  file RegisterSqlVMScriptReport1571314821.txt

Beskrivning av utdata

Både en rapport och en loggfil genereras varje gång cmdleten Register-SqlVMs används.

Report

Rapporten genereras som en .txt fil med namnet RegisterSqlVMScriptReport<Timestamp>.txt där tidsstämpeln är den tidpunkt då cmdleten startades. Rapporten visar följande information:

Utdatavärde Beskrivning
Det gick inte att registrera prenumerationer eftersom du inte har åtkomst eller att autentiseringsuppgifterna är felaktiga Detta ger antalet och listan över prenumerationer som hade problem med den angivna autentiseringen. Det detaljerade felet finns i loggen genom att söka efter prenumerations-ID:t.
Antal prenumerationer som inte kunde provas eftersom de inte är registrerade hos resursprovidern Det här avsnittet innehåller antalet och listan över prenumerationer som inte har registrerats i SQL IaaS Agent-tillägget.
Totalt antal virtuella datorer hittades Antalet virtuella datorer som hittades i omfånget för de parametrar som skickades till cmdleten.
Virtuella datorer som redan har registrerats Antalet virtuella datorer som hoppades över eftersom de redan har registrerats med tillägget.
Antal virtuella datorer som har registrerats Antalet virtuella datorer som har registrerats efter att cmdleten har körts. Visar en lista över registrerade virtuella datorer i formatet SubscriptionID, Resource Group, Virtual Machine.
Det gick inte att registrera antalet virtuella datorer på grund av fel Antal virtuella datorer som inte kunde registreras på grund av ett fel. Information om felet finns i loggfilen.
Antal virtuella datorer som hoppas över eftersom den virtuella datorn eller gust-agenten på den virtuella datorn inte körs Antal och lista över virtuella datorer som inte kunde registreras som antingen den virtuella datorn eller gästagenten på den virtuella datorn kördes inte. Dessa kan göras om när den virtuella datorn eller gästagenten har startats. Information finns i loggfilen.
Antal virtuella datorer som hoppas över eftersom de inte kör SQL Server i Windows Antal virtuella datorer som hoppades över eftersom de inte kör SQL Server eller inte är en virtuell Windows-dator. De virtuella datorerna visas i formatet SubscriptionID, Resource Group, Virtual Machine.

Loggas

Fel loggas i loggfilen med namnet VMsNotRegisteredDueToError<Timestamp>.log, där tidsstämpeln är den tidpunkt då skriptet startade. Om felet är på prenumerationsnivå innehåller loggen kommaavgränsat prenumerations-ID och felmeddelandet. Om felet gäller registreringen av den virtuella datorn innehåller loggen prenumerations-ID, resursgruppsnamn, namn på virtuell dator, felkod och meddelande avgränsade med kommatecken.

Anmärkningar

När du registrerar virtuella SQL Server-datorer med tillägget med hjälp av det angivna skriptet bör du tänka på följande:

  • Registrering med tillägget kräver en gästagent som körs på den virtuella SQL Server-datorn. Windows Server 2008-avbildningar har ingen gästagent, så dessa virtuella datorer misslyckas och måste registreras manuellt med begränsade funktioner.
  • Det finns inbyggd logik för återförsök för att lösa transparenta fel. Om den virtuella datorn har registrerats är det en snabb åtgärd. Men om registreringen misslyckas kommer varje virtuell dator att försöka igen. Därför bör du ge betydande tid att slutföra registreringsprocessen , även om det faktiska tidskravet är beroende av typen och antalet fel.

Fullständigt skript

Det fullständiga skriptet på GitHub finns i Massregistrering av virtuella SQL Server-datorer med Az PowerShell.

Kopiera det fullständiga skriptet och spara det som RegisterSqLVMs.psm1.

Nästa steg

Mer information finns i följande artiklar: