Sdílet prostřednictvím


Omezení priority

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Omezení priority propojují spustitelné soubory, kontejnery a úlohy v balíčcích v toku řízení a určují podmínky, které určují, jestli se spustitelné soubory spouští. Spustitelný soubor může být cyklus "for," cyklus "foreach" nebo kontejner sekvence; úloha; nebo obsluha událostí. Obslužné rutiny událostí také používají omezení pořadí pro propojení jejich spustitelných prvků do řídícího toku.

Omezení priority propojuje dva spustitelné soubory: spustitelný soubor s prioritou a omezený spustitelný soubor. Spustitelný soubor s vyšší prioritou se spustí před omezeným spustitelným souborem a výsledek jeho spuštění může určit, zda se omezený spustitelný soubor spustí. Následující diagram znázorňuje dva spustitelné soubory propojené omezením priority.

Spustitelné soubory propojené závislostí na pořadí

V lineárním řídicím toku je tok bez větvení, omezení priority sama řídí posloupnost, ve které se úlohy spouští. Pokud se tok řízení větví, vykonávací modul integračních služeb určuje pořadí provádění mezi úkoly a kontejnery, které následují ihned po větvení. Modul runtime také určuje pořadí provádění mezi nepřipojenými pracovními postupy v toku řízení.

Architektura vnořeného kontejneru integračních služeb umožňuje všechny kontejnery s výjimkou kontejneru hostitele úlohy, který zapouzdřuje pouze jeden úkol, zahrnout další kontejnery, z nichž každý má vlastní tok řízení. Kontejnery For Loop, Foreach a Sequence mohou obsahovat několik úloh a dalších kontejnerů, které pak můžou zahrnovat více úloh a kontejnerů. Například balíček s úlohou Skript a kontejnerem Sequence má omezení priority, které propojuje úlohu Skript a kontejner Sequence. Kontejner Sequence obsahuje tři úlohy skriptu a jeho omezení priority propojuje tři úkoly skriptu do toku řízení. Následující diagram znázorňuje přednostní omezení v balíčku se dvěma úrovněmi vnoření.

Přednostní omezení v balíčku

Vzhledem k tomu, že je balíček v horní části hierarchie kontejneru SSIS, nelze více balíčků propojit omezeními priority; Do balíčku však můžete přidat úlohu Execute Package a nepřímo propojit jiný balíček s tokem řízení.

Omezení priority můžete nakonfigurovat následujícími způsoby:

  • Zadejte operaci vyhodnocení. Omezení priority používá hodnotu omezení, výraz, obojí nebo buď k určení, zda se omezený spustitelný soubor spustí.

  • Pokud omezení priority používá výsledek spuštění, můžete určit výsledek provedení, který má být úspěšný, neúspěšný nebo dokončený.

  • Pokud omezení priority používá výsledek vyhodnocení, můžete zadat výraz, který se vyhodnotí jako logická hodnota.

  • Určete, zda je omezení priority vyhodnoceno samostatně nebo společně s dalšími omezeními, která platí pro omezované spustitelné soubory.

Operace vyhodnocení

Integrační služby poskytují následující operace vyhodnocení:

  • Omezení, které používá pouze výsledek spuštění nadřazeného spustitelného souboru k určení, zda se spustí podřízený spustitelný soubor. Výsledkem spuštění spustitelného souboru s prioritou může být dokončení, úspěch nebo selhání. Toto je výchozí operace.

  • Výraz, který je vyhodnocen k určení, zda se omezený spustitelný soubor spustí. Pokud se výraz vyhodnotí jako true, spustí se omezený spustitelný soubor.

  • Výraz a omezení, které kombinují požadavky na výsledky provedení předřazeného spustitelného souboru a výsledky vrácené z vyhodnocení výrazu.

  • Výraz nebo omezení, které používá buď výsledky spuštění spustitelného souboru s prioritou, nebo vrácené výsledky vyhodnocení výrazu.

Návrhář SSIS používá barvu k identifikaci typu omezení priority. Omezení úspěchu je zelené, omezení selhání je červené a omezení dokončení je modré. Chcete-li zobrazit popisky textu v návrháři SSIS, které zobrazují typ omezení, musíte nakonfigurovat funkce přístupnosti aplikace SSIS Designer.

Výraz musí být platným výrazem SSIS a může obsahovat funkce, operátory a systémové a vlastní proměnné. Další informace naleznete v tématu Výrazy služby SSIS (Integration Services) a proměnné služby SSIS (Integration Services).

Výsledky provádění

Přednostní omezení může použít následující výsledky provedení samostatně nebo v kombinaci s výrazem.

  • Dokončení vyžaduje pouze dokončení spustitelného souboru s prioritou bez ohledu na výsledek, aby se omezený spustitelný soubor spustil.

  • Úspěch vyžaduje, aby se prioritní spustitelný soubor úspěšně dokončil, aby mohl běžet omezený spustitelný soubor.

  • Selhání vyžaduje, aby prioritní spustitelný soubor selhal, než bude moci běžet omezený spustitelný soubor.

Poznámka:

V logické podmínce AND je možné seskupit pouze omezení, která jsou členy stejné kolekce omezení priority . Nelze například kombinovat omezení priority ze dvou kontejnerů smyčky Foreach.

Nastavení vlastností omezení priority pomocí Editoru omezení priority

  1. V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.

  2. V Průzkumníku řešení poklikáním otevřete balíček.

  3. Klikněte na kartu Ovládání toku.

  4. Poklikejte na omezení priority.

    Otevře se Editor omezení priority .

  5. V rozevíracím seznamu Operace vyhodnocení vyberte operaci vyhodnocení.

  6. V rozevíracím seznamu Hodnota vyberte výsledek spuštění spustitelného souboru s prioritou.

  7. Pokud operace vyhodnocení používá výraz, zadejte do pole Výraz výraz a kliknutím na tlačítko Test vyhodnotíte výraz.

    Poznámka:

    Názvy proměnných jsou citlivé na velikost písmen.

  8. Pokud je k omezenému spustitelnému souboru připojeno více úloh nebo kontejnerů, vyberte logický operátor AND a určete, že výsledky provádění všech předchozích spustitelných souborů musí být vyhodnoceny jako true. Vyberte logickou hodnotu OR a určete, že se musí vyhodnotit pouze jeden výsledek spuštění na hodnotu true.

  9. Kliknutím na tlačítko OK zavřete Editor omezení priority.

  10. Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybrané položky v nabídce Soubor .

Editor omezení přednosti

Ke konfiguraci omezení priority použijte dialogové okno Editoru omezení priority .

Možnosti

Operace vyhodnocení
Zadejte operaci vyhodnocení, kterou používá omezení priority. Operace jsou: omezení, výraz, výraz a omezení, a výraz nebo omezení.

Hodnota
Zadejte hodnotu omezení: úspěch, selhánínebo dokončení.

Poznámka:

Čára omezení priority je zelená pro úspěch, zvýrazněná pro selhání a modrá pro dokončení.

Výraz
Pokud používáte operace Výraz, Výraz a Omezení nebo Výraz nebo Omezení, zadejte výraz nebo spusťte Tvůrce výrazů a vytvořte výraz. Výraz musí být vyhodnocen jako logická hodnota.

 Testování
Ověřte výraz.

logické AND
Vyberte, pokud chcete určit, že musí být společně vyhodnocena více omezení priority u stejného spustitelného souboru. Všechna omezení musí být vyhodnocena jako Pravda.

Poznámka:

Tento typ omezení priority se zobrazí jako plná zelená, zvýrazněná nebo modrá čára.

Logické „OR“
Vyberte, pokud chcete určit, že musí být společně vyhodnocena více omezení priority u stejného spustitelného souboru. Alespoň jedno omezení musí být vyhodnoceno jako Pravda.

Poznámka:

Tento typ omezení priority se zobrazí jako tečkovaná zelená, zvýrazněná nebo modrá čára.

Nastavení vlastností omezení priority v okně Vlastnosti

  1. V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje balíček, který chcete upravit.

  2. V Průzkumníku řešení poklikáním otevřete balíček.

  3. Klikněte na kartu Tok řízení . Na návrhové ploše karty Tok řízení klikněte pravým tlačítkem myši na omezení priority a potom klepněte na příkaz Vlastnosti. V okně Vlastnosti upravte hodnoty vlastnosti.

  4. V okně Vlastnosti nastavte následující vlastnosti čtení a zápisu s omezeními priority:

    Vlastnost čtení a zápisu Akce konfigurace
    Popis Zadejte popis.
    EvalOp Vyberte operaci vyhodnocení. Pokud je vybrána operace Expression, ExpressionAndConstant nebo ExpressionOrConstant , můžete zadat výraz.
    Výraz Pokud operace vyhodnocení obsahuje podmínku, zadejte výraz. Výraz musí být vyhodnocen jako logická hodnota. Další informace o jazyce výrazů najdete v tématu Výrazy služby SSIS (Integration Services).
    Logický a logický Nastavte LogicalAnd k určení, zda je precedenční omezení vyhodnoceno ve spojení s jinými precedenčními omezeními, když předchází více spustitelných souborů a jsou propojeny s omezeným spustitelným souborem.
    Název Aktualizujte název omezení priority.
    Zobrazit anotaci Zadejte typ poznámky, který se má použít. Vyberte Nikdy k zakázání poznámek, AsNeeded, abyste povolili anotaci na vyžádání, ConstraintName k automatickému anotování pomocí hodnoty vlastnosti Name, ConstraintDescription k automatickému anotování pomocí hodnoty vlastnosti Description a ConstraintOptions k automatickému anotování pomocí hodnot vlastností Value a Expression.
    Hodnota Pokud operace vyhodnocení zadaná ve vlastnosti EvalOP obsahuje omezení, vyberte výsledek spuštění omezující spustitelného souboru.
  5. Zavřete okno Vlastnosti.

  6. Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybrané položky v nabídce Soubor .

Nastavte hodnotu omezení priority s pomocí místní nabídky

  1. V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.

  2. V Průzkumníku řešení poklikáním otevřete balíček.

  3. Klikněte na kartu Ovládání toku.

  4. Na návrhové ploše karty Tok řízení klikněte pravým tlačítkem myši na omezení priority a potom klikněte na úspěch, selhání nebo dokončení.

  5. Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybranou položku v nabídce Soubor .

Přidání výrazů do omezení přednosti

Omezení priority může použít výraz k definování omezení mezi dvěma spustitelnými soubory: spustitelný soubor priority a omezený spustitelný soubor. Spustitelné soubory můžou být úkoly nebo kontejnery. Výraz lze použít samostatně nebo v kombinaci s výsledkem spuštění spustitelného souboru s prioritou. Výsledek spuštění spustitelného souboru je úspěšný nebo neúspěšný. Když konfigurujete výsledek provádění omezení priority, můžete nastavit výsledek spuštění na Úspěch, Selhání nebo Dokončení. Úspěch vyžaduje, aby byl spustitelný soubor s prioritou úspěšný, chyba vyžaduje, aby spustitelný soubor s prioritou selhal, a dokončení indikuje, že omezený spustitelný soubor by měl běžet bez ohledu na to, jestli úloha priority proběhne úspěšně nebo selže. Další informace naleznete v tématu Omezení priority.

Výraz musí být vyhodnocen jako Pravda nebo Nepravda a musí se jednat o platný výraz integračních služeb. Výraz může používat literály, systémové a vlastní proměnné a funkce a operátory, které poskytuje gramatika výrazu SSIS. Například výraz @Count == SQRT(144) + 10 používá proměnnou Count, funkci SQRT a operátory rovnosti (==) a sčítání (+). Další informace najdete v tématu Výrazy SSIS (Integration Services).

Na následujícím obrázku jsou úkoly A a úkol B propojeny podmínkou přednosti, která používá výsledek spuštění a výraz. Hodnota omezení je nastavena na Úspěch a výraz je @X >== @Z. Úkol B, omezený úkol, se spustí pouze v případě, že se úkol A úspěšně dokončí a hodnota proměnné X je větší nebo rovna hodnotě proměnné Z.

Precedenční omezení mezi dvěma úkoly

Spustitelné soubory lze propojit také pomocí více omezení priority, která obsahují různé výrazy. Například na následujícím obrázku jsou úkoly B a C propojeny s úkolem A pomocí omezení priority, která používají výsledky provádění a výrazy. Obě hodnoty omezení jsou nastaveny na Úspěch. Jedno omezení priority zahrnuje výraz @X >== @Za druhé omezení priority zahrnuje výraz @X < @Z. V závislosti na hodnotách proměnné X a proměnné Z se spustí úloha C nebo úkol B.

Výrazy týkající se omezení precedence

Výraz můžete přidat nebo upravit pomocí Editoru omezení priority v nástroji SSIS Designer a okna Vlastnosti, které poskytuje SQL Server Data Tools (SSDT). Okno Vlastnosti ale neposkytuje ověření syntaxe výrazu.

Pokud precedenční omezení obsahuje výraz, vedle tohoto omezení se na pracovní ploše karty Tok řízení zobrazí ikona a při najetí na ni se zobrazí výraz v popisu.

Přidejte výraz do omezení precedence

  1. V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.

  2. V Průzkumníku řešení poklikáním otevřete balíček.

  3. Klikněte na kartu Ovládání toku.

  4. Na návrhové ploše záložky Tok řízení dvakrát klikněte na omezení přednosti. Otevře se Editor omezení priority .

  5. V seznamu operací vyhodnocení vyberte výraz, výraz a omezení nebo výraz nebo omezení.

  6. Zadejte výraz do textového pole Výraz nebo spusťte Tvůrce výrazů a vytvořte výraz.

  7. Pokud chcete ověřit syntaxi výrazu, klikněte na test.

  8. Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybrané položky v nabídce Soubor .

Kombinování hodnot spuštění a výrazů

Následující tabulka popisuje účinky kombinování omezení hodnoty provádění a výrazu v omezení priority.

Operace hodnocení Omezení se vyhodnotí jako Výraz se vyhodnotí jako Spuštění omezeného programu
Omezení Pravdivé není k dispozici Pravdivé
Omezení Nepravda není k dispozici Nepravda
Výraz není k dispozici Pravdivé Pravdivé
Výraz není k dispozici Nepravda Nepravda
Omezení a výraz Pravdivé Pravdivé Pravdivé
Omezení a výraz Pravdivé Nepravda Nepravda
Omezení a výraz Nepravda Pravdivé Nepravda
Omezení a výraz Nepravda Nepravda Nepravda
Omezení nebo výraz Pravdivé Pravdivé Pravdivé
Omezení nebo výraz Pravdivé Nepravda Pravdivé
Omezení nebo výraz Nepravda Pravdivé Pravdivé
Omezení nebo výraz Nepravda Nepravda Nepravda

Komplexní scénáře omezení s více omezeními priority

Omezení priority spojuje dva spustitelné soubory: dva úkoly, dva kontejnery nebo jeden z nich. Označují se jako spustitelný soubor s prioritou a omezený spustitelný soubor. Omezený spustitelný soubor může mít více omezení priority. Další informace naleznete v tématu Omezení priority.

Sestavení složitých scénářů omezení seskupením omezení umožňuje implementovat komplexní tok řízení v balíčcích. Například na následujícím obrázku je úkol D propojený s úkolem A omezením úspěchu , úkol D je propojen s úkolem B omezením selhání a úkol D je propojen s úkolem C omezením úspěchu . Omezení priorit mezi úkolem D a úkolem A, mezi úkolem D a úkolem B a mezi úkolem D a úkolem C se účastní logické a relace. Aby úloha D byla spuštěna, musí být úloha A úspěšně spuštěna, úkol B musí selhat a úkol C musí být úspěšně spuštěn.

Úkoly propojené s omezeními přednosti

LogicalAnd – vlastnost

Pokud má úkol nebo kontejner více omezení, vlastnost LogicalAnd určuje, zda je omezení přednosti vyhodnoceno samostatně nebo v kombinaci s jinými omezeními.

Vlastnost LogicalAnd můžete nastavit pomocí Editoru omezení priority v návrháři SSIS nebo v okně Vlastnosti, které poskytuje SQL Server Data Tools (SSDT).

Nastavení výchozí hodnoty pro omezení priority

Při prvním použití aplikace SSIS Designer je výchozí hodnota omezení priority Úspěch. Pomocí těchto kroků nakonfigurujte nástroj SSIS Designer tak, aby pro omezení priority používal jinou výchozí hodnotu.

  1. Otevřete SQL Server Data Tools (SSDT).

  2. V nabídce Nástroje klepněte na tlačítko Možnosti.

  3. V dialogovém okně Možnosti rozbalte položku Návrháři business intelligence a potom rozbalte Návrháři integračních služeb.

  4. Klikněte na možnost Automatické připojení toku řízení a ve výchozím nastavení vyberte Připojit nový obrazec k vybranému obrazci.

  5. V rozevíracím seznamu zvolte buď Použít omezení Selhání pro nový obrazec, nebo Použít omezení Dokončení pro nový obrazec.

  6. Klikněte na OK.

Vytvoření výchozího omezení priority

  1. V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.

  2. V Průzkumníku řešení poklikáním otevřete balíček.

  3. Klikněte na kartu Ovládání toku.

  4. Na návrhové ploše karty Tok řízení klikněte na úlohu nebo kontejner a přetáhněte jeho spojnici do spustitelného souboru, na který chcete použít omezení priority.

  5. Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybrané položky v nabídce Soubor .