Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
SSIS Integration Runtime in Azure Data Factory
Tijdens runtime genereren uitvoerbare bestanden (pakketten en Foreach Loop, For Loop, Sequence en taakhostcontainers) gebeurtenissen. Er wordt bijvoorbeeld een OnError-gebeurtenis gegenereerd wanneer er een fout optreedt. U kunt aangepaste gebeurtenis-handlers voor deze gebeurtenissen maken om pakketfunctionaliteit uit te breiden en pakketten gemakkelijker te beheren tijdens runtime. Gebeurtenis-handlers kunnen taken uitvoeren zoals de volgende:
Tijdelijke gegevensopslag opschonen wanneer een pakket of taak is uitgevoerd.
Systeeminformatie ophalen om de beschikbaarheid van resources te beoordelen voordat een pakket wordt uitgevoerd.
Gegevens in een tabel vernieuwen wanneer een zoekactie in een referentietabel mislukt.
Een e-mailbericht verzenden wanneer een fout of waarschuwing optreedt of wanneer een taak mislukt.
Als een gebeurtenis geen gebeurtenis-handler heeft, wordt de gebeurtenis gegenereerd naar de volgende container in de containerhiërarchie in een pakket. Als deze container een gebeurtenis-handler heeft, wordt de gebeurtenis-handler uitgevoerd als reactie op de gebeurtenis. Als dat niet het geval is, wordt de gebeurtenis gegenereerd naar de volgende container in de containerhiërarchie.
In het volgende diagram ziet u een eenvoudig pakket met een For Loop-container die één SQL-taak uitvoeren bevat.
Alleen het pakket heeft een gebeurtenis-handler voor de OnError-gebeurtenis . Als er een fout optreedt wanneer de SQL-taak uitvoeren wordt uitgevoerd, wordt de Gebeurtenis-handler onError voor het pakket uitgevoerd. In het volgende diagram ziet u de reeks aanroepen die ervoor zorgen dat de Gebeurtenis-handler van OnError wordt uitgevoerd voor het pakket.
Gebeurtenis-handlers zijn lid van een gebeurtenis-handlerverzameling en alle containers bevatten deze verzameling. Als u het pakket maakt met behulp van SSIS Designer, ziet u de leden van de gebeurtenis-handlerverzamelingen in de mappen Gebeurtenis-handlers op het tabblad Package Explorer van SSIS Designer.
U kunt de gebeurtenis-handlercontainer op de volgende manieren configureren:
Geef een naam en beschrijving op voor de gebeurtenis-handler.
Geef aan of de gebeurtenis-handler wordt uitgevoerd, of het pakket mislukt als de gebeurtenis-handler mislukt en het aantal fouten dat kan optreden voordat de gebeurtenis-handler mislukt.
Geef een uitvoeringsresultaat op dat moet worden geretourneerd in plaats van het werkelijke uitvoeringsresultaat dat de gebeurtenis-handler tijdens runtime retourneert.
Geef de transactieoptie voor de gebeurtenis-handler op.
Geef de logboekregistratiemodus op die door de gebeurtenis-handler wordt gebruikt.
Inhoud van gebeurtenis-handler
Het maken van een gebeurtenis-handler is vergelijkbaar met het bouwen van een pakket; een gebeurtenis-handler heeft taken en containers, die in een controlestroom worden gesequentieerd en een gebeurtenis-handler kan ook gegevensstromen bevatten. De SSIS Designer bevat het tabblad Gebeurtenis-handlers voor het maken van aangepaste gebeurtenis-handlers.
U kunt ook programmatisch gebeurtenis-handlers maken. Zie Gebeurtenissen afhandelen via een programma voor meer informatie.
gebeurtenissen Run-Time
De volgende tabel bevat de gebeurtenis-handlers die Integration Services biedt en beschrijft de runtimegebeurtenissen die ervoor zorgen dat de gebeurtenis-handler wordt uitgevoerd.
| Gebeurtenishandler | Event |
|---|---|
| OnError | De gebeurtenis-handler voor de OnError-gebeurtenis . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand wanneer er een fout optreedt. |
| OnExecStatusChanged | De gebeurtenis-handler voor de gebeurtenis OnExecStatusChanged . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand wanneer de uitvoeringsstatus wordt gewijzigd. |
| OnInformation | De gebeurtenis-handler voor de OnInformation-gebeurtenis . Deze gebeurtenis wordt gegenereerd tijdens de validatie en uitvoering van een uitvoerbaar bestand om informatie te rapporteren. Deze gebeurtenis geeft alleen informatie over, geen fouten of waarschuwingen. |
| OnPostExecute | De gebeurtenis-handler voor de OnPostExecute-gebeurtenis . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand direct nadat deze is uitgevoerd. |
| OnPostValidate | De gebeurtenis-handler voor de gebeurtenis OnPostValidate . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand wanneer de validatie is voltooid. |
| OnPreExecute | De gebeurtenis-handler voor de OnPreExecute-gebeurtenis . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand direct voordat deze wordt uitgevoerd. |
| OnPreValidate | De gebeurtenis-handler voor de gebeurtenis OnPreValidate . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand wanneer de validatie wordt gestart. |
| OnProgress | De gebeurtenis-handler voor de OnProgress-gebeurtenis . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand wanneer meetbare voortgang wordt gemaakt door het uitvoerbare bestand. |
| OnQueryCancel | De gebeurtenis-handler voor de gebeurtenis OnQueryCancel . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand om te bepalen of deze niet meer moet worden uitgevoerd. |
| OnTaskFailed | De gebeurtenis-handler voor de OnTaskFailed-gebeurtenis . Deze gebeurtenis wordt gegenereerd door een taak wanneer deze mislukt. |
| OnVariableValueChanged | De gebeurtenis-handler voor de gebeurtenis OnVariableValueChanged . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand wanneer de waarde van een variabele verandert. De gebeurtenis wordt gegenereerd door het uitvoerbare bestand waarop de variabele is gedefinieerd. Deze gebeurtenis wordt niet gegenereerd als u de eigenschap RaiseChangeEvent voor de variabele instelt op False. Zie SSIS-variabelen (Integration Services) voor meer informatie. |
| OnWarning | De gebeurtenis-handler voor de OnWarning-gebeurtenis . Deze gebeurtenis wordt gegenereerd door een uitvoerbaar bestand wanneer er een waarschuwing optreedt. |
Een gebeurtenis-handler toevoegen aan een pakket
Tijdens runtime genereren containers en taken gebeurtenissen. U kunt aangepaste gebeurtenis-handlers maken die op deze gebeurtenissen reageren door een werkstroom uit te voeren wanneer de gebeurtenis wordt gegenereerd. U kunt bijvoorbeeld een gebeurtenis-handler maken waarmee een e-mailbericht wordt verzonden wanneer een taak mislukt.
Een gebeurtenis-handler is vergelijkbaar met een pakket. Net als een pakket kan een gebeurtenis-handler het bereik voor variabelen bieden en een controlestroom en optionele gegevensstromen bevatten. U kunt gebeurtenis-handlers bouwen voor pakketten, de Foreach Loop-container, de For Loop-container, de reekscontainer en alle taken.
U maakt gebeurtenis-handlers met behulp van het ontwerpoppervlak van het tabblad Gebeurtenis-handlers in SSIS Designer.
Wanneer het tabblad Gebeurtenis-handlers actief is, bevatten de knooppunten Beheerstroomitems en Onderhoudsplantaken van de Werkset in SSIS Designer de taak en containers voor het bouwen van de controlestroom in de gebeurtenis-handler. De knooppuntenGegevensstroombronnen, Transformaties en Doelgegevensstromen bevatten de gegevensbronnen, transformaties en bestemmingen voor het bouwen van de gegevensstromen in de gebeurtenis-handler. Zie Controlestroom en gegevensstroom voor meer informatie.
Het tabblad Gebeurtenis-handlers bevat ook het gebied Verbindingsbeheer waar u de verbindingsbeheerders kunt maken en wijzigen die gebeurtenis-handlers gebruiken om verbinding te maken met servers en gegevensbronnen. Zie Verbindingsbeheer maken voor meer informatie.
Een gebeurtenis-handler toevoegen op het tabblad Gebeurtenis-handlers
Open in SQL Server Data Tools (SSDT) het Integration Services-project dat het gewenste pakket bevat.
Dubbelklik in Solution Explorer op het pakket om het te openen.
Klik op het tabblad Gebeurtenis-handlers .
Het maken van de controlestroom en gegevensstromen in een gebeurtenis-handler is vergelijkbaar met het maken van de besturingsstroom en gegevensstromen in een pakket. Zie Controlestroom en gegevensstroom voor meer informatie.
Selecteer in de lijst Uitvoerbare bestanden het uitvoerbare bestand waarvoor u een gebeurtenis-handler wilt maken.
Selecteer in de lijst gebeurtenis-handler de gebeurtenis-handler die u wilt bouwen.
Klik op de koppeling op het ontwerpoppervlak van het tabblad Gebeurtenishandler .
Voeg controlestroomitems toe aan de gebeurtenis-handler en verbind items met behulp van een prioriteitsbeperking door de beperking van het ene besturingsstroomitem naar het andere te slepen. Zie Controlestroom voor meer informatie.
Voeg desgewenst een gegevensstroomtaak toe en maak op het ontwerpoppervlak van het tabblad Gegevensstroom een gegevensstroom voor de gebeurtenis-handler. Zie Gegevensstroom voor meer informatie.
Klik in het menu Bestand op Geselecteerde items opslaan om het pakket op te slaan.
De eigenschappen van een gebeurtenis-handler instellen
U kunt eigenschappen instellen in het venster Eigenschappen van SQL Server Data Tools (SSDT) of programmatisch.
Zie De eigenschappen van een taak of container instellen voor informatie over het instellen van deze eigenschappen in SQL Server Data Tools (SSDT).
Zie voor meer informatie over het programmatisch instellen van deze eigenschappen DtsEventHandler.