Elastische taken maken, configureren en beheren (preview)
VAN TOEPASSING OP:
Azure SQL Database
In dit artikel leert u hoe u elastische taken maakt, configureert en beheert.
Als u geen elastische taken hebt gebruikt, vindt u meer informatie over de concepten voor taakautomatisering in Azure SQL Database.
De agent maken en configureren
Maak of identificeer een lege S0- of hogere database. Deze database wordt gebruikt als taakdatabase tijdens het maken van de elastische-taakagent.
Maak een elastische-taakagent in de portal of met PowerShell.

Taken maken, uitvoeren en beheren
Maak een referentie voor taakuitvoering in de taakdatabase met behulp van PowerShell of T-SQL.
Definieer de doelgroep (de databases waar u de taak op wilt uitvoeren) met behulp van PowerShell of T-SQL.
Maak een taakagentreferentie in elke database waarin de taak wordt uitgevoerd (voeg de gebruiker (of rol) toe aan elke database in de groep). Zie de PowerShell-zelfstudie voor een voorbeeld.
Maak een taak met behulp van PowerShell of T-SQL.
Voeg taakstappen toe met PowerShell of T-SQL.
Voer een taak uit met Behulp van PowerShell of T-SQL.
Controleer de uitvoeringsstatus van de taak via de portal, PowerShell of T-SQL.

Referenties voor het uitvoeren van taken
Taken gebruiken databasereferenties om verbinding te maken met de databases die tijdens de uitvoering zijn opgegeven door de doelgroep. Als een doelgroep servers of pools bevat, worden deze databasereferenties gebruikt om verbinding te maken met de hoofddatabase en de beschikbare databases op te sommen.
Het instellen van de juiste referenties voor het uitvoeren van een taak kan enigszins verwarrend zijn. Houd daarom de volgende punten in gedachten:
- De referenties voor het databasebereik moeten worden gemaakt in de taakdatabase.
- Alle doeldatabases moeten een aanmelding hebben met voldoende machtigingen om de taak te kunnen voltooien ( in het
jobuseronderstaande diagram). - Referenties kunnen opnieuw worden gebruikt voor taken en de referentiewachtwoorden worden versleuteld en beveiligd voor gebruikers die alleen-lezentoegang hebben tot taakobjecten.
De volgende afbeelding is gemaakt als hulp bij het begrijpen en instellen van de juiste taakreferenties. Denk eraan dat de gebruiker moet worden gemaakt in elke database (alle doelgebruikersdatabases) waarin de taak moet worden uitgevoerd.

Aanbevolen procedures voor beveiliging
Een paar aandachtspunten voor best practices voor het werken met elastische taken:
- Beperk het gebruik van de API's tot vertrouwde personen.
- Referenties moeten slechts de minimale bevoegdheden hebben die nodig zijn om de taakstap uit te voeren. Zie Autorisatie en machtigingen voor meer informatie.
- Wanneer u een lid van een server en/of groep als doelgroep gebruikt, wordt ten zeerste aangeraden om een afzonderlijke referentie te maken met rechten op de hoofddatabase om databases weer te geven/weer te geven die worden gebruikt om de databaselijsten van de server(s) en/of pool(s) uit te vouwen voordat de taak wordt uitgevoerd.
Agentprestaties, - capaciteit en -beperkingen
Elastische taken gebruiken minimale rekenresources tijdens het wachten tot langlopende taken zijn voltooid.
Afhankelijk van de grootte van de doelgroep van databases en de gewenste uitvoeringstijd voor een taak (aantal gelijktijdige werkrollen), vraagt de agent meer of minder rekenkracht en prestaties van de taakdatabase (hoe meer doelen en taken, hoe hoger de vereiste hoeveelheid rekenkracht).
Op dit moment is de preview beperkt tot 100 gelijktijdige taken.
Voorkomen dat taken de prestaties van de doeldatabase doen afnemen
Om ervoor te zorgen dat resources niet worden overbelast tijdens het uitvoeren van taken voor databases in een elastische SQL-pool, kunnen taken zo worden geconfigureerd dat het aantal databases waarvoor een taak tegelijkertijd wordt uitgevoerd, wordt beperkt.
Stel het aantal gelijktijdige databases in waarin een taak wordt uitgevoerd door de parameter van de opgeslagen procedure in te stellen sp_add_jobstep @max_parallelism in T-SQL.
Best practices voor het maken van taken
Idempotente scripts
De T-SQL-scripts van een taak moeten idempotent zijn. Idempotent betekent dat de resultaten van een geslaagd script hetzelfde zijn wanneer dit script opnieuw wordt uitgevoerd. Een script kan mislukken door tijdelijke netwerkproblemen. In dat geval wordt automatisch een vooraf ingesteld aantal keer opnieuw geprobeerd om de taak uit te voeren alvorens het wordt afgebroken. Een idempotent script heeft hetzelfde resultaat, zelfs als het twee keer (of vaker) wordt uitgevoerd.
Een eenvoudige tactiek is te testen of een object bestaat voordat u het maakt. Hieronder wordt een hypothetisch voorbeeld weergegeven:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'some_object')
print 'Object does not exist'
-- Create the object
ELSE
print 'Object exists'
-- If it exists, drop the object before recreating it.
Op dezelfde manier moet een script met succes kunnen worden uitgevoerd door logisch te testen op problemen en hierop te reageren.