Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
van toepassing op:SQL Server
SSIS Integration Runtime in Azure Data Factory
Beperkingen voor prioriteit koppelen uitvoerbare bestanden, containers en taken in pakketten in een controlestroom en geef voorwaarden op die bepalen of uitvoerbare bestanden worden uitgevoerd. Een uitvoerbaar element kan een For-lus, een Foreach-lus of een Sequentie-container zijn; een taak; of een gebeurtenishandler. Gebeurtenis-handlers gebruiken ook prioriteitsbeperkingen om hun uitvoerbare bestanden te koppelen aan een controlestroom.
Een beperking voor prioriteit koppelt twee uitvoerbare bestanden: het uitvoerbare bestand met prioriteit en het beperkte uitvoerbare bestand. Het uitvoerbare bestand met prioriteit wordt uitgevoerd vóór het beperkte uitvoerbare bestand en het uitvoeringsresultaat van het uitvoerbare bestand met prioriteit kan bepalen of het beperkte uitvoerbare bestand wordt uitgevoerd. In het volgende diagram ziet u twee uitvoerbare bestanden die zijn gekoppeld aan een prioriteitsbeperking.
In een lineaire controleflow, dus zonder vertakkingen, bepalen alleen de precedentiebeperkingen de volgorde waarin taken worden uitgevoerd. Als een controlestroom vertakt, bepaalt de runtime-engine van Integration Services de uitvoeringsvolgorde van de taken en containers die direct volgen op de vertakking. De runtime-engine bepaalt ook de uitvoeringsvolgorde tussen niet-verbonden werkstromen in een besturingsstroom.
Met de geneste containerarchitectuur van Integration Services kunnen alle containers, met uitzondering van de hostcontainer van de taak die slechts één taak omvat, andere containers opnemen, elk met een eigen controlestroom. De For Loop-, Foreach-lus- en reekscontainers kunnen meerdere taken en andere containers bevatten, die op hun beurt meerdere taken en containers kunnen bevatten. Een pakket met een scripttaak en een reekscontainer heeft bijvoorbeeld een prioriteitsbeperking waarmee de scripttaak en de reekscontainer worden gekoppeld. De reekscontainer bevat drie scripttaken en de prioriteitsbeperkingen koppelen de drie scripttaken aan een controlestroom. In het volgende diagram ziet u de volgordecondities in een pakket met twee niveaus van genesting.
Omdat het pakket zich boven aan de SSIS-containerhiërarchie bevindt, kunnen meerdere pakketten niet worden gekoppeld aan prioriteitsbeperkingen; U kunt echter een execute package-taak toevoegen aan een pakket en indirect een ander pakket koppelen aan de controlestroom.
U kunt prioriteitsbeperkingen op de volgende manieren configureren:
Geef een evaluatiebewerking op. De prioriteitsbeperking maakt gebruik van een beperkingswaarde, een expressie, beide of een van beide om te bepalen of het beperkte uitvoerbare bestand wordt uitgevoerd.
Als voor de prioriteitsbeperking een uitvoeringsresultaat wordt gebruikt, kunt u het uitvoeringsresultaat opgeven dat is geslaagd, mislukt of voltooid.
Als de prioriteitsbeperking een evaluatieresultaat gebruikt, kunt u een expressie opgeven die resulteert in een Booleaanse waarde.
Geef op of de precedentievoorwaarde apart wordt geëvalueerd of samen met andere beperkingen die van toepassing zijn op het beperkte uitvoerbare bestand.
Evaluatiebewerkingen
Integration Services biedt de volgende evaluatiebewerkingen:
Een beperking die alleen gebruikmaakt van het uitvoeringsresultaat van het uitvoerbare bestand met prioriteit om te bepalen of het beperkte uitvoerbare bestand wordt uitgevoerd. Het resultaat van de uitvoering van het uitvoerbare bestand met voorrang kan voltooiing, succes of mislukking zijn. Dit is de standaardbewerking.
Een expressie die wordt geëvalueerd om te bepalen of het beperkte uitvoerbare bestand wordt uitgevoerd. Als de uitdrukking waar oplevert, wordt de beperkte uitvoerbare code uitgevoerd.
Een expressie en een beperking die de vereisten van uitvoeringsresultaten van het uitvoerbare bestand met prioriteit combineert en de geretourneerde resultaten van het evalueren van de expressie.
Een expressie of een beperking die gebruikmaakt van de uitvoeringsresultaten van het uitvoerbare bestand met prioriteit of de geretourneerde resultaten van het evalueren van de expressie.
SSIS Designer gebruikt kleur om het type prioriteitsbeperking te identificeren. De voorwaarde Succes is groen, de voorwaarde Mislukking is rood en de voorwaarde Voltooiing is blauw. Als u tekstlabels wilt weergeven in SSIS Designer waarin het type beperking wordt weergegeven, moet u de toegankelijkheidsfuncties van SSIS Designer configureren.
De expressie moet een geldige SSIS-expressie zijn en kan functies, operators en systeem- en aangepaste variabelen bevatten. Zie SSIS-expressies (Integration Services) en SSIS-variabelen (Integration Services) voor meer informatie.
Uitvoeringsresultaten
De prioriteitsbeperking kan de volgende uitvoeringsresultaten alleen of in combinatie met een expressie gebruiken.
Voor voltooiing is alleen vereist dat het uitvoerbare bestand met prioriteit is voltooid, zonder rekening te houden met het resultaat, zodat het beperkte uitvoerbare bestand kan worden uitgevoerd.
Voor geslaagde uitvoering moet het uitvoerbare bestand met prioriteit worden voltooid voordat het beperkte uitvoerbare bestand kan worden uitgevoerd.
Het falen vereist dat het uitvoerbare met prioriteit moet falen voordat het beperkte uitvoerbare kan worden uitgevoerd.
Opmerking
Alleen prioriteitsbeperkingen die lid zijn van dezelfde verzameling prioriteitsbeperkingen kunnen worden gegroepeerd in een logische AND-voorwaarde. U kunt bijvoorbeeld geen prioriteitsbeperkingen van twee Foreach Loop-containers combineren.
Stel de eigenschappen van een precedentiebeperking in met de editor voor precedentiebeperkingen
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 Control Flow.
Dubbelklik op de prioriteitsbeperking.
De editor voor prioriteitsbeperkingen wordt geopend.
Selecteer een evaluatiebewerking in de vervolgkeuzelijst Evaluatiebewerking .
Selecteer in de vervolgkeuzelijst Waarde het uitvoeringsresultaat van het uitvoerbare bestand met prioriteit.
Als voor de evaluatiebewerking een expressie wordt gebruikt, typt u een expressie in het vak Expressie en klikt u op Testen om de expressie te evalueren.
Opmerking
Variabelenamen zijn hoofdlettergevoelig.
Als meerdere taken of containers zijn verbonden met het gekoppelde uitvoerbare bestand, selecteert u Logisch EN om aan te geven dat de uitvoeringsresultaten van alle voorgaande uitvoerbare elementen als waar moeten worden beoordeeld. Selecteer Logisch OF om te bepalen dat slechts één uitvoeringsresultaat waar moet zijn.
Klik op OK om de editor voor prioriteitsbeperkingen te sluiten.
Als u het bijgewerkte pakket wilt opslaan, klikt u op Geselecteerde items opslaan in het menu Bestand.
Prioriteitsbeperkingseditor
Gebruik het dialoogvenster Prioriteitsbeperkingseditor om prioriteitsbeperkingen te configureren.
Opties
Evaluatiebewerking
Geef de evaluatiebewerking op die door de beperking voor prioriteit wordt gebruikt. De bewerkingen zijn: Constraint, Expression, Expression and Constrainten Expression or Constraint.
Waarde
Geef de beperkingswaarde op: geslaagde, mislukteof voltooiing.
Opmerking
De prioriteitsbeperkingslijn is groen voor Geslaagd, gemarkeerd voor Mislukt en blauw voor Voltooiing.
Uitdrukking
Als u de bewerkingsexpressie, expressie en beperking of expressie of beperking gebruikt, typt u een expressie of start u de opbouwfunctie voor expressies om de expressie te maken. De expressie moet een Booleaanse waarde evalueren.
Testen
Valideer de uitdrukking.
logische AND-
Selecteer deze optie om op te geven dat meerdere prioriteitsbeperkingen voor hetzelfde uitvoerbare bestand samen moeten worden geëvalueerd. Alle beperkingen moeten Waar zijn.
Opmerking
Dit type prioriteitsbeperking wordt weergegeven als een effen groene, gemarkeerde of blauwe lijn.
Logische OR
Selecteer deze optie om op te geven dat meerdere prioriteitsbeperkingen voor hetzelfde uitvoerbare bestand samen moeten worden geëvalueerd. Ten minste één beperking moet Waar zijn.
Opmerking
Dit type prioriteitsbeperking wordt weergegeven als een gestippelde groene, gemarkeerde of blauwe lijn.
De eigenschappen van een prioriteitsbeperking instellen in het venster Eigenschappen
Open in SQL Server Data Tools (SSDT) het Integration Services-project dat het pakket bevat dat u wilt wijzigen.
Dubbelklik in Solution Explorer op het pakket om het te openen.
Klik op het tabblad Controlestroom . Klik op het ontwerpoppervlak van het tabblad Controlestroom met de rechtermuisknop op de prioriteitsbeperking en klik vervolgens op Eigenschappen. Wijzig de eigenschapswaarden in het venster Eigenschappen.
Stel in het venster Eigenschappen de volgende lees-/schrijfeigenschappen van prioriteitsbeperkingen in:
Lees-/schrijfeigenschap Configuratieactie Beschrijving Geef een beschrijving op. EvalOp Selecteer een evaluatiebewerking. Als de bewerking Expression, ExpressionAndConstant of ExpressionOrConstant is geselecteerd, kunt u een expressie opgeven. Uitdrukking Als de evaluatiebewerking een expressie bevat, geeft u een expressie op. De expressie moet een Booleaanse waarde evalueren. Zie SSIS-expressies (Integration Services) voor meer informatie over de expressietaal. LogicalAnd Stel LogicalAnd in om op te geven of de prioriteitsbeperking wordt geëvalueerd in combinatie met andere prioriteitsbeperkingen, wanneer meerdere uitvoerbare bestanden voorafgaan en zijn gekoppeld aan het beperkte uitvoerbare bestand Naam Werk de naam van de prioriteitsbeperking bij. ToonAnnotatie Geef het type aantekening op dat moet worden gebruikt. Kies Nooit aantekeningen uitschakelen, AsNeeded om aantekeningen op aanvraag in te schakelen, ConstraintName automatisch aantekeningen maken met behulp van de waarde van de eigenschap Name, ConstraintDescription om automatisch aantekeningen te maken met behulp van de waarde van de eigenschap Description en ConstraintOptions om automatisch aantekeningen te maken met behulp van de waarden van de eigenschappen Waarde en Expressie. Waarde Als de evaluatiebewerking die is opgegeven in de eigenschap EvalOP een beperking bevat, selecteert u het resultaat van de uitvoer van het beperkende uitvoerbare programma. Sluit het venster Eigenschappen.
Als u het bijgewerkte pakket wilt opslaan, klikt u op Geselecteerde items opslaan in het menu Bestand.
De waarde van een prioriteitsbeperking instellen met het snelmenu
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 Control Flow.
Klik op het ontwerpoppervlak van het tabblad Controlestroom met de rechtermuisknop op de prioriteitsbeperking en klik vervolgens op Geslaagd, Mislukt of Voltooiing.
Als u het bijgewerkte pakket wilt opslaan, klikt u op Geselecteerd item opslaan in het menu Bestand .
Expressies toevoegen aan prioriteitsbeperkingen
Een prioriteitsbeperking kan een expressie gebruiken om de beperking tussen twee uitvoerbare bestanden te definiëren: het uitvoerbare bestand met prioriteit en het beperkte uitvoerbare bestand. Uitvoerbare bestanden kunnen taken of containers zijn. De expressie kan alleen worden gebruikt of in combinatie met het uitvoeringsresultaat van het uitvoerbare bestand met prioriteit. Het uitvoeringsresultaat van een uitvoerbaar bestand is geslaagd of mislukt. Wanneer u het uitvoeringsresultaat van een prioriteitsbeperking configureert, kunt u het uitvoeringsresultaat instellen op Geslaagd, Mislukt of Voltooiing. Succes vereist dat het uitvoerbare met prioriteit slaagt, Mislukt vereist dat het uitvoerbare met prioriteit faalt, en Voltooiing geeft aan dat het beperkte uitvoerbare moet worden uitgevoerd, ongeacht of de prioriteitstaak slaagt of faalt. Zie prioriteitsbeperkingenvoor meer informatie.
De expressie moet resulteren in Waar of Onwaar en moet een geldige expressie voor Integration Services zijn. De expressie kan letterlijke, systeem- en aangepaste variabelen en de functies en operators gebruiken die de grammatica van de SSIS-expressie biedt. De expressie @Count == SQRT(144) + 10 maakt bijvoorbeeld gebruik van de variabele Count, de functie SQRT, en de gelijkheid (==) en optel (+) operatoren. Voor meer informatie, zie Integration Services (SSIS) Expressies.
In de volgende afbeelding worden taak A en taak B gekoppeld met een prioriteitsbeperking die gebruikmaakt van een uitvoeringsresultaat en een expressie. De beperkingswaarde is ingesteld op Geslaagd en de expressie is @X >== @Z. Taak B, de beperkte taak, wordt alleen uitgevoerd als taak A is voltooid en de waarde van variabele X groter is dan of gelijk is aan de waarde van variabele Z.
Uitvoerbare bestanden kunnen ook worden gekoppeld met behulp van meerdere prioriteitsbeperkingen die verschillende expressies bevatten. In de volgende afbeelding zijn taken B en C bijvoorbeeld gekoppeld aan taak A door prioriteitsbeperkingen die gebruikmaken van uitvoeringsresultaten en expressies. Beide beperkingswaarden zijn ingesteld op Geslaagd. Eén prioriteitsbeperking bevat de expressie @X >== @Zen de andere prioriteitsbeperking bevat de expressie @X < @Z. Afhankelijk van de waarden van variabele X en variabele Z, wordt taak C of taak B uitgevoerd.
U kunt een expressie toevoegen of wijzigen met behulp van de editor voor prioriteitsbeperking in SSIS Designer en het venster Eigenschappen dat SQL Server Data Tools (SSDT) biedt. Het venster Eigenschappen biedt echter geen verificatie van de syntaxis van de expressie.
Als een prioriteitsbeperking een expressie bevat, wordt er een pictogram weergegeven op het ontwerpoppervlak van het tabblad Controlestroom, naast de prioriteitsbeperking, en de expressie wordt weergegeven in de tooltip van het pictogram.
Een expressie toevoegen aan een prioriteitsbeperking
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 Control Flow.
Dubbelklik op het ontwerpoppervlak van het tabblad Controlestroom op de prioriteitsbeperking. De editor voor prioriteitsbeperkingen wordt geopend.
Selecteer Expressie, Expressie en Beperking of Expressie of Beperking in de lijst met evaluatiebewerkingen .
Typ een expressie in het tekstvak Expressie of start de opbouwfunctie voor expressies om een expressie te maken.
Klik op Testen om de syntaxis van de expressie te valideren.
Als u het bijgewerkte pakket wilt opslaan, klikt u op Geselecteerde items opslaan in het menu Bestand.
Uitvoeringswaarden en expressies combineren
In de volgende tabel worden de effecten beschreven van het combineren van een beperking voor de uitvoeringswaarde en een expressie in een beperking voor prioriteit.
| Evaluatiebewerking | Beperking resulteert in | De evaluatie van de expressie komt uit op | Beperkte uitvoerbare uitvoeringen |
|---|---|---|---|
| Beperking | Klopt | Niet van toepassing. | Klopt |
| Beperking | Onwaar | Niet van toepassing. | Onwaar |
| Uitdrukking | Niet van toepassing. | Klopt | Klopt |
| Uitdrukking | Niet van toepassing. | Onwaar | Onwaar |
| Beperking en expressie | Klopt | Klopt | Klopt |
| Beperking en expressie | Klopt | Onwaar | Onwaar |
| Beperking en expressie | Onwaar | Klopt | Onwaar |
| Beperking en expressie | Onwaar | Onwaar | Onwaar |
| Beperking of uitdrukking | Klopt | Klopt | Klopt |
| Beperking of uitdrukking | Klopt | Onwaar | Klopt |
| Beperking of uitdrukking | Onwaar | Klopt | Klopt |
| Beperking of uitdrukking | Onwaar | Onwaar | Onwaar |
Complexe beperkingsscenario's met meerdere prioriteitsbeperkingen
Een prioriteitsbeperking verbindt twee uitvoerbare bestanden: twee taken, twee containers of een van beide. Ze worden het uitvoerbare bestand met prioriteit en het beperkte uitvoerbare bestand genoemd. Een beperkt uitvoerbaar bestand kan meerdere prioriteitsbeperkingen hebben. Zie prioriteitsbeperkingenvoor meer informatie.
Door complexe beperkingsscenario's samen te stellen door beperkingen te groeperen, kunt u complexe controlestroom in pakketten implementeren. In de volgende afbeelding is taak D bijvoorbeeld gekoppeld aan taak A door een slagingsbeperking , taak D is gekoppeld aan taak B door een foutbeperking en taak D is gekoppeld aan taak C door een slagingsbeperking . De prioriteitsbeperkingen tussen Taak D en Taak A, tussen Taak D en Taak B, en tussen Taak D en Taak C, nemen deel aan een logische en relatie. Daarom moet taak A succesvol worden uitgevoerd, moet taak B mislukken, en moet taak C succesvol worden uitgevoerd om taak D te laten draaien.
LogicalAnd-eigenschap
Als een taak of container meerdere beperkingen heeft, geeft de eigenschap LogicalAnd aan of een precedentiebeperking op zichzelf of in combinatie met andere beperkingen wordt geëvalueerd.
U kunt de eigenschap LogicalAnd instellen met behulp van de editor voor prioriteitsbeperking in SSIS Designer of in het venster Eigenschappen dat SQL Server Data Tools (SSDT) biedt.
De standaardwaarde instellen voor prioriteitsbeperkingen
Wanneer u SSIS Designer voor het eerst gebruikt, is de standaardwaarde van een prioriteitsbeperking Geslaagd. Volg deze stappen om SSIS Designer te configureren voor het gebruik van een andere standaardwaarde voor prioriteitsbeperkingen.
Open SQL Server Data Tools (SSDT).
Klik in het menu Extra op Opties.
Vouw in het dialoogvenster OptiesBusiness Intelligence Ontwerpers uit en vouw vervolgens Integration Services Ontwerpers uit.
Klik op Controleflow automatisch verbinden en selecteer Verbind standaard een nieuwe vorm met de geselecteerde vorm.
Kies in de vervolgkeuzelijst een foutbeperking gebruiken voor de nieuwe shape of Gebruik een voltooiingsbeperking voor de nieuwe shape.
Klik op OK.
Een standaardprioriteitsbeperking maken
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 Control Flow.
Klik op het ontwerpoppervlak van het tabblad Controlestroom op de taak of container en sleep de verbindingslijn naar het uitvoerbare bestand waarop u de prioriteitsbeperking wilt toepassen.
Als u het bijgewerkte pakket wilt opslaan, klikt u op Geselecteerde items opslaan in het menu Bestand.