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
- Granska fördelarna med SQL IaaS Agent-tillägget.
- Registrera en enskild virtuell dator manuellt
- Registrera automatiskt alla virtuella datorer i en prenumeration.
- Felsöka kända problem med tillägget.
- Läs sekretesspolicyn för SQL IaaS Agent-tillägget.
- Granska checklistan med metodtips för att optimera prestanda och säkerhet.
Mer information finns i följande artiklar: