Elastische taken maken, configureren en beheren (preview)

Van toepassing op: Azure SQL Database

Dit artikel bevat de stappen die nodig zijn voor het maken, configureren en beheren van elastische taken voor Azure SQL Database. U kunt veel van deze stappen uitvoeren in Azure Portal en met behulp van T-SQL, PowerShell en de REST API. Elastisc Jobs maken het mogelijk om één of meerdere T-SQL-scripts (Transact-SQL) parallel in veel databases uit te voeren. Voor meer informatie vindt u meer informatie over de concepten voor taakautomatisering in Azure SQL Database of lees meer over elastische taken in Azure SQL Database.

Notitie

Elastische taken zijn in preview. Functies die momenteel in de preview-versie beschikbaar zijn, zijn beschikbaar onder aanvullende gebruiksvoorwaarden. Bekijk de juridische voorwaarden die van toepassing zijn op Azure-functies die in preview zijn. Azure SQL Database biedt previews om u de kans te geven feedback te evalueren en te delen met de productgroep over functies voordat deze algemeen beschikbaar worden.

De elastische-taakagent maken en configureren

  1. Maak of identificeer een lege S1 of hoger Azure SQL Database met behulp van het DTU-aankoopmodel. Deze database moet zich op dezelfde server bevinden als de taakagent. Deze database wordt gebruikt als de taakdatabase tijdens het maken van een elastische taakagent. U kunt één database maken via Azure Portal, Azure CLI, Azure CLI (sql up) of PowerShell.

  2. Maak een elastische taakagent in Azure Portal of met PowerShell.

    De instructies voor het maken van een elastische-taakagent in Azure Portal zijn als volgt:

    1. Zoek in Azure Portal naar agents voor elastische taken. Selecteer Maken om te beginnen met het inrichten van een nieuwe resource voor een elastische taakagent. U kunt ook deze koppeling volgen om een elastische-taakagent te maken in Azure Portal.
    2. Geef de naam van een elastische taakagent op.
    3. Kies een abonnement en resourcegroep voor de agent. Maak indien nodig een nieuwe resourcegroep. Een elastische taak kan zich richten op databases in andere resourcegroepen, abonnementen, zelfs andere Azure-regio's.
    4. Kies de logische Server van Azure SQL Database als de server voor elastische taakagent.
    5. Kies een taakdatabase op de logische server als de elastische-taakagentdatabase. Sommige validaties zorgen ervoor dat de database geschikt is.
    6. Kies onder Servicelaag JA 100.
    7. Selecteer Volgende: Identiteit.
    8. Er zijn twee verificatiemethoden voor de taakagent voor doelserver(s)/database(s), Microsoft Entra-verificatie met een door de gebruiker toegewezen beheerde identiteit (UMI) of referenties binnen het databasebereik.
      1. Maak de UMI buiten het inrichtingsproces van de elastische taakagent of gebruik een bestaande UMI. Selecteer Door de gebruiker toegewezen beheerde identiteit toevoegen. Selecteer de UMI. Selecteer Toevoegen.
      2. Zie de stappen verderop in deze zelfstudie als u referenties binnen het databasebereik wilt gebruiken.
    9. Selecteer Volgende: Tags.
    10. Overweeg het gebruik van Azure-tags. Bijvoorbeeld de tag 'Eigenaar' of 'CreatedBy' om te bepalen wie de resource heeft gemaakt en de omgevingstag om te bepalen of deze resource zich in Productie, Ontwikkeling, enzovoort bevindt. Zie Uw naamgevings- en tagstrategie voor Azure-resources ontwikkelen voor meer informatie.
    11. Selecteer Controleren + maken.
    12. Valideer de nieuwe selecties van de elastische taakagent op de pagina Beoordelen en maken en selecteer Vervolgens Maken.
    13. Er zijn verdere stappen vereist voor verificatie bij de doelserver(s)/database(s). Ga door met de stappen in de volgende secties van dit zelfstudieartikel.

Verificatie van taakagent maken

De elastische taakagent moet kunnen worden geverifieerd bij elke doelserver of -database. In deze sectie behandelen we de stappen die nodig zijn om de elastische taakagent te verifiëren bij server(s)/database(s) in doelgroepen.

Er zijn twee opties voor verificatie van een elastische taakagent voor doelen:

Microsoft Entra-verificatie gebruiken met een door de gebruiker toegewezen beheerde identiteit (UMI)

Gebruik Microsoft Entra-verificatie (voorheen Azure Active Directory) met een door de gebruiker toegewezen beheerde identiteit (UMI). Dit is de aanbevolen verificatiemethode.

  1. Schakel Microsoft Entra-verificatie (voorheen Azure Active Directory) in op alle logische server(s)/database(s) van de taak en op de logische server voor taakuitvoer.
  2. Maak een door de gebruiker toegewezen beheerde identiteit (UMI) of gebruik een al bestaande UMI.
  3. Wijs de UMI toe aan de gemaakte elastische taakagent.
    • Het is raadzaam om een UMI toe te wijzen bij het maken van de elastische-taakagent. Zie de stappen in Maken en configureren van de elastische-taakagent. Wanneer u een taakagent maakt in Azure Portal, wijst u op het tabblad Identiteit toe aan de elastische-taakagent.
    • Als u een bestaande elastische-taakagent wilt bijwerken om een UMI te gebruiken, gaat u op de azure-portalpagina voor de elastische-taakagent naar Identiteit onder het menu Beveiliging in het resourcemenu. Selecteer en wijs de UMI toe aan de elastische taakagent.
    • Gebruik de parameters bij het maken of bijwerken van een agent voor elastische taken met de New-AzSqlElasticJobAgent of Set-AzSqlElasticJobAgent PowerShell-cmdlets: -IdentityType UserAssigned -IdentityID <identity resource path> Bijvoorbeeld:
      $parameters = @{
          Name = '<job agent name>'
          ResourceGroupName = '<Resource_Group_Name>'
          IdentityType = 'UserAssigned'
          IdentityID = '/subscriptions/fa58cf66-caaf-4ba9-875d-f1234/resourceGroups/<resource group name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UMI name here>'
      }
      Set-AzSqlElasticJobAgent @parameters
      
    • De REST API kan ook worden gebruikt om de elastische taakagent te maken of bij te werken.
  4. Maak een doelgroep en voeg doelen toe voor de taken. Definieer de doelgroep en doelen (de databases waarop u de taak wilt uitvoeren) met behulp van PowerShell of definieer de doelgroep en doelen met behulp van T-SQL.
  5. Maak in elk van de doelserver(s)/database(s) een ingesloten gebruiker die is toegewezen aan de referentie UMI of databasebereik, met behulp van T-SQL of PowerShell:
    1. Maak de taakverificatie met T-SQL.
    2. Maak de taakverificatie met PowerShell.
  6. Maak en wijs machtigingen toe aan de UMI-taakgebruiker in de uitvoerdatabase. Verbinding maken naar de uitvoerdatabase en voer het volgende voorbeeldscript uit voor een gebruiker met de naamjobuserUMI:
    CREATE USER [jobuserUMI] FROM EXTERNAL PROVIDER; 
    GO 
    
  7. Als de uitvoerparameters zijn opgegeven in de sp_add_jobstep aanroep the @output_table_name argument, moeten aan de taakagent-UMI of databasereferentie machtigingen worden verleend voor CREATE TABLE en INSERT-gegevens in die uitvoertabel.
    GRANT CREATE TABLE TO [job_user];
    GRANT SELECT,INSERT,UPDATE,DELETE ON [dbo].[output_table_name] TO job_user;
    
  8. In elk van de doelserver(s)/database(s) verleent u de databasegebruiker machtigingen om taakscripts uit te voeren. Deze machtigingen variëren op basis van de vereisten van de T-SQL-query.

Referenties voor databasebereik gebruiken

U kunt een databasereferentie gebruiken in de taakdatabase en in elke doelserver/database voor verificatie. In het verleden waren referenties binnen het databasebereik de enige optie die beschikbaar was voor elastische taken.

Notitie

Als een UMI is toegewezen aan de taakagent, wordt SQL-verificatie niet gebruikt om verbinding te maken met de doelen. JobAgent gebruikt alleen Microsoft Entra-verificatie met de UMI om verbinding te maken met alle doeldatabases.

  1. Maak een databasereferentie in de taakdatabase.
    1. PowerShell gebruiken om een databasereferentie te maken
    2. Gebruik T-SQL om een databasereferentie te maken.
  2. Definieer de doelgroep (de databases waarop u de taak wilt uitvoeren) met behulp van PowerShell of definieer doelen met behulp van T-SQL.
  3. Maak een taakagentaanmelding/gebruiker in elke doeldatabase waar de taak wordt uitgevoerd. De aanmelding/gebruiker op elke doelserver/database moet dezelfde naam hebben als de identiteit van de referentie in het databasebereik voor de taakgebruiker en hetzelfde wachtwoord als de referentie in het databasebereik voor de taakgebruiker.
    1. Gebruik PowerShell om de referentie en gebruiker toe te voegen aan elke doeldatabase.
    2. Zie Server- en databasetoegang autoriseren met behulp van aanmeldingen en gebruikersaccounts voor meer informatie over het toevoegen van gebruikers.
  4. Maak en wijs machtigingen toe aan de taakgebruiker in de uitvoerdatabase.
    1. Verbinding maken naar de master database van de logische server die als host fungeert voor de uitvoerdatabase. Als er nog geen aanmelding bestaat, maakt u geverifieerde SQL-aanmelding met dezelfde naam als de identiteit van de databasereferentie voor de taakgebruiker en hetzelfde wachtwoord als de databasereferentie voor de taakgebruiker.
      CREATE LOGIN [job_user] WITH PASSWORD '<same_password_as_database-scoped_credential>'
      GO 
      
    2. Verbinding maken naar de uitvoerdatabase en voer het volgende voorbeeldscript uit voor een gebruiker met de naamjob_user:
      CREATE USER [job_user] FROM LOGIN [job_user]; 
      GO 
      
    3. Als uitvoerparameters zijn opgegeven in de sp_add_jobstep aanroep in het argument @output_table_name , moet de referentie taakagent-UMI of databasebereik machtigingen hebben om CREATE TABLE- en INSERT-gegevens in die uitvoertabel te maken.
      GRANT CREATE TABLE TO [job_user];
      GRANT SELECT,INSERT,UPDATE,DELETE ON [dbo].[output_table_name] TO job_user;
      
  5. In elk van de doelserver(s)/database(s) verleent u de databasegebruiker machtigingen om taakscripts uit te voeren. Deze machtigingen variëren op basis van de vereisten van de T-SQL-query.

Taken maken, uitvoeren en beheren

  1. Gebruik PowerShell om een taak te maken of T-SQL te gebruiken om een taak te maken.
  2. Voeg stappen toe aan elke elastische taak. Voor elke taakstap moet een doelgroep worden gekozen. Gebruik PowerShell om taakstappen toe te voegen of T-SQL te gebruiken om taakstappen toe te voegen.
  3. Gebruik PowerShell om een taak uit te voeren of T-SQL te gebruiken om een taak uit te voeren.
  4. Bewaak de uitvoeringsstatus van de taak met behulp van Azure Portal, bewaak taken met PowerShell of bewaak taken met T-SQL.

Privé-eindpunt voor elastische Azure SQL-taken configureren

Elke doelserver kan worden bereikt via een door de service beheerd privé-eindpunt, gemaakt en beheerd door Microsoft, en uitsluitend voor gebruik met elastische taken. Als u een privé-eindpunt voor elastische taken maakt, wordt er een privékoppeling gemaakt tussen de elastische taak en de doelserver. Zodra de configuratie is voltooid, vindt alle communicatie tussen de elastische taakagent en de doelserver plaats via het privé-eindpunt.

Configuratie is eenvoudig. U moet een privé-eindpunt maken voor elke gewenste doelserver en de taakuitvoerserver om deze communicatie in te schakelen.

  1. Selecteer privé-eindpunten in het navigatiemenu van de elastische taakagent onder Beveiliging.
  2. Selecteer Een server toevoegen en privé-eindpunt maken.
  3. Het venster Privé-eindpunt maken wordt geopend.
    1. U kunt een doelserver selecteren in elk abonnement, overal in Azure.
    2. Selecteer een logische doelserver van Azure SQL Database in dat abonnement.
    3. Geef een privé-eindpuntnaam op.
  4. Selecteer Privé-eindpunt maken. Het duurt even voordat de implementatie is uitgevoerd. Binnenkort wordt de Verbinding maken ionstatus op de pagina Privé-eindpunten weergegeven in behandeling.
  5. Navigeer in Azure Portal naar de logische doelserver van Azure SQL Database.
  6. Als beheerder van die logische Server van Azure SQL Database selecteert u netwerken in het navigatiemenu van de SQL-server onder Beveiliging.
  7. Selecteer Privétoegang.
  8. Keur de aanvraag voor het privé-eindpunt in behandeling goed .
  9. De status Verbinding maken op de pagina Privé-eindpunten wordt Goedgekeurd weergegeven. Nu loopt elke communicatie tussen de taakagent en databases of elastische pools in die doel logische Azure SQL Database-server via het door de service beheerde privé-eindpunt.
  10. Als beheerder van die logische Server van Azure SQL Database selecteert u netwerken in het navigatiemenu van de SQL-server onder Beveiliging. Het is niet nodig om openbare toegang in te schakelen voor elastische taken.

Taakagentwaarschuwingen configureren met Azure Monitor

Configureer Azure Monitor-waarschuwingen voor de resource van de elastische taakagent om op de hoogte te worden gesteld van de taakuitvoeringsstatus. U kunt bijvoorbeeld op de hoogte worden gesteld van het mislukken/slagen van een taak via door de gebruiker geconfigureerde actiegroepen.

U kunt waarschuwingen voor elastische taakagenten maken met behulp van Azure Portal, PowerShell of de REST API.

Taakagentwaarschuwingen maken met behulp van Azure Portal

Maak Azure Monitor-waarschuwingsregels met Azure Portal, Azure CLI, PowerShell en REST API. Waarschuwingsregels voor elastische taken werken op dezelfde manier als bij andere waarschuwingsregels, zoals voor Azure SQL Database.

Ga als volgende te werk om door te gaan met Azure Portal:

  1. Ga in het resourcemenu van Azure Portal voor de elastic job-agent naar het menu Bewaking en selecteer Waarschuwingen.
  2. Selecteer onder waarschuwingsregels instellen voor deze resourceprompt de optie Waarschuwingsregel maken.
  3. Op de pagina Een waarschuwingsregel maken wordt de pagina Een signaal selecteren geopend. Selecteer de metrische gegevens voor elastische taken, mislukte uitvoeringen van elastische taken, uitvoeringen van elastische taken of uitvoeringen van elastische taken is een time-out opgetreden. Screenshot from the Azure portal showing the Create an alert rule page.
  4. Laat onder Waarschuwingslogica de standaardwaarde Drempelwaarde, Aggregatietype, Operator en Eenheid staan.
  5. Stel drempelwaarde in op 0. Laat andere instellingen standaard staan.
  6. Bekijk de kostenraming in de preview-versie van de kosten.
  7. Selecteer Volgende: Acties.
  8. Selecteer Actiegroep maken of kies een bestaande actiegroep.
    1. Maak actiegroepen voor Azure Monitor-waarschuwingen in Azure Portal om bijvoorbeeld meldingsinstellingen in te stellen voor e-mailbeheerders of ontwikkelaars van de fout.
    2. Test de actiegroep Waarschuwing.
  9. Selecteer Volgende: Details.
  10. Geef een abonnement en resourcegroep op als projectdetails.
  11. Geef details van de waarschuwingsregel op voor de waarschuwingscommunicatie. Geef een naam op voor de waarschuwingsregel.
  12. Selecteer Tags en geef metagegevens op, zoals CreatedBy of Environment voor deze waarschuwing.
  13. Selecteer Controleren + maken. Selecteer Maken. Het kan enkele minuten duren voordat de waarschuwingsregel wordt weergegeven in Azure Portal.
  14. U kunt eventueel regels voor azure Monitor-waarschuwingsverwerking maken met behulp van Azure Portal, Azure CLI of PowerShell. Gebruik waarschuwingsverwerkingsregels om te bepalen wat er gebeurt wanneer een waarschuwing wordt geactiveerd, zoals het onderdrukken van meldingen of het toepassen van specifieke acties op bepaalde typen waarschuwingen.

De taakagent schalen

Standaard worden taakagents gemaakt op JA100, waardoor maximaal 100 elastische taakuitvoeringen gelijktijdig worden uitgevoerd. Het initiëren van een wijziging op serviceniveau is een asynchrone bewerking en het nieuwe serviceniveau wordt beschikbaar gesteld na een korte inrichtingsvertraging.

Als u meer dan 100 gelijktijdige uitvoeringen van elastische taakagents nodig hebt, zijn er hogere serviceniveaus beschikbaar, raadpleegt u De gelijktijdige capaciteitslagen. U kunt momenteel het serviceniveau van een taakagent wijzigen via Azure Portal, PowerShell of REST API.

Het overschrijden van het serviceniveau met gelijktijdige taken leidt tot wachtrijvertragingen voordat taken boven de limiet voor gelijktijdige taken van het serviceniveau beginnen.

De elastische-taakagent schalen met behulp van Azure Portal

  1. Navigeer naar de pagina elastische taakagent in Azure Portal.
  2. Selecteer Prijscategorie of selecteer Omhoog/omlaag schalen in het contextmenu.
  3. Kies een nieuwe servicelaag in de vervolgkeuzelijst Servicelaag .
  4. Bekijk de kostenkaart.
  5. Selecteer Bijwerken.

De elastische-taakagent schalen met behulp van PowerShell

De optionele -ServiceObjective parameter kan Set-AzSqlElasticJobAgent worden gebruikt om een nieuwe servicedoelstelling op te geven. Bijvoorbeeld:

$parameters = @{
    Name = '<job agent name>'
    ResourceGroupName = '<Resource_Group_Name>'
    ServiceObjective = 'JA200'
}
Set-AzSqlElasticJobAgent @parameters

De elastische-taakagent schalen met behulp van REST API

U kunt de REST API van de taakagent gebruiken om een taakagent te schalen. Bijvoorbeeld:

{ 
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", 
"name": "agent1", 
"type": "Microsoft.Sql/servers/jobAgents", 
"location": "southeastasia", 
"sku": {
"name": "JA100  ", 
"capacity": 100 
}, 
"properties": {  
"databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"
}  
}