1. Úvod do úloh spouštění SQL v SSIS
Integrační služby SQL Serveru (SSIS) jsou výkonnou platformou pro zpracování dat ETL (extrakce, transformace a načítání). Podstatnou součástí systému SSIS je úloha Execute SQL Task, která slouží k provedení dotazu SQL nebo uložené procedury. Tato úloha se používá k různým účelům, včetně čištění dat, transformace dat a obecné manipulace s daty. V tomto článku probereme, jak vytvořit, nakonfigurovat a upravit úlohu Execute SQL Task v systému SSIS.
2. Vytvoření úlohy Execute SQL
Vytvoření úlohy Execute SQL je jednoduché. Nejprve otevřete balíček SSIS a přidejte úlohu Execute SQL Task do podokna Control Flow. Poklepáním na úlohu otevřete Editor úlohy Execute SQL, který poskytuje řadu možností pro konfiguraci úlohy.
3. Konfigurace úlohy Execute SQL
Editor úlohy Execute SQL umožňuje konfigurovat úlohu různými způsoby. Nejprve můžete zadat Typ zdroje, který určuje, zda úloha provede dotaz SQL, nebo uloženou proceduru. Můžete také zadat Typ připojení, který určuje, jaký zdroj dat bude úloha používat. Nakonec můžete zadat dotaz SQL nebo uloženou proceduru do textového pole SQLStatement.
4. Použití proměnných v úloze Execute SQL
Jednou z nejvýkonnějších funkcí úlohy Execute SQL je možnost použít proměnné v textovém poli SQLStatement. Proměnné umožňují předávat úloze dynamické hodnoty, které lze použít k přizpůsobení dotazu. Chcete-li použít proměnnou, zadejte do textového pole SQLStatement název proměnné, kterému předchází symbol ‚@‘.
5. Vlastnosti úlohy Execute SQL a protokolování
Úloha Execute SQL má řadu vlastností, které lze použít k přizpůsobení úlohy. Můžete například určit, zda má úloha selhat, pokud dotaz nevrátí žádné řádky, nebo zda má úloha zaznamenávat své provedení do protokolu SSIS. Můžete také zadat Maximální velikost odevzdání vložených dat, která určuje, kolik řádků bude při vkládání dat odevzdáno najednou.
6. Řešení problémů s úlohou Execute SQL
Pokud úloha Execute SQL selže, může být obtížné určit příčinu selhání. Při řešení problémů s úlohou můžete prozkoumat protokol SSIS, který může obsahovat další informace o chybě. Můžete také použít nástroj SQL Profiler ke sledování provádění úlohy, který vám může pomoci identifikovat případné chyby, k nimž došlo během provádění.
7. Alternativní způsoby provedení dotazu SQL
Úloha Execute SQL je nejběžnějším způsobem provedení dotazu SQL v systému SSIS, ale jsou k dispozici i další možnosti. Například můžete použít úlohu Execute Process Task k provedení dotazu pomocí nástroje příkazového řádku, jako je sqlcmd. Můžete také použít úlohu Script Task pro vložení dotazu do skriptu napsaného v jazyce C# nebo VB.NET.
8. Práce s více úlohami Execute SQL
V některých případech může být nutné provést více dotazů SQL za sebou. Můžete například potřebovat provést dotaz pro získání dat, po kterém bude následovat druhý dotaz pro aktualizaci dat. Za tímto účelem můžete nakonfigurovat více úloh Execute SQL v sekvenci a každou úlohu nakonfigurovat tak, aby provedla příslušný dotaz.
Po provedení kroků popsaných v tomto článku byste měli mít všechny informace, které potřebujete k úspěšnému vytvoření, konfiguraci a úpravě úlohy Execute SQL Task v systému SSIS. Díky těmto znalostem můžete úlohu snadno přizpůsobit svým potřebám zpracování dat.
Chcete-li upravit dotaz v balíčku SSIS, otevřete balíček SSIS v aplikaci Visual Studio a dvakrát klikněte na dotaz, který chcete upravit. Tím se dotaz otevře v návrháři dotazů. Odtud můžete dotaz upravit podle potřeby.
Úloha execute SQL slouží ke spuštění příkazů SQL nebo uložených procedur, zatímco execute SQL task slouží ke spuštění již definované úlohy SQL.
V systému SSIS lze v úloze Execute SQL nastavit proměnné pomocí příkazu SET. Například následující příkaz SET nastaví proměnnou MyVar na hodnotu 5:
SET MyVar = 5
Proměnné lze v úloze Execute SQL použít také tak, že je zahrnete do samotného dotazu SQL. Například následující dotaz by vrátil hodnotu proměnné MyVar:
SELECT MyVar
FROM MyTable
V aplikaci SQL Server Management Studio klikněte pravým tlačítkem myši na úlohu, kterou chcete upravit, a vyberte možnost Vlastnosti. V dialogovém okně Vlastnosti úlohy proveďte potřebné změny na kartách Obecné, Kroky, Plány, Oznámení a Upozornění. Kliknutím na tlačítko OK změny uložte.
Chcete-li parametrizovat zdrojový dotaz v SSIS, musíte nejprve vytvořit parametrizovaný dotaz v databázi SQL Server. Za tímto účelem otevřete SQL Server Management Studio a připojte se ke své databázi. Poté klikněte pravým tlačítkem myši na složku Parameters a vyberte možnost „New Parameter“. V dialogovém okně „Nový parametr“ pojmenujte parametr a vyberte jeho datový typ. Poté klikněte na tlačítko „OK“.
Dále otevřete svůj projekt SSIS ve Visual Studiu a poklepáním na úlohu „Datový tok“ ji otevřete. Přetáhněte datový zdroj „SQL Server“ z „Toolboxu“ na plochu „Data Flow“. V dialogovém okně „Správce připojení“ vyberte instanci SQL Serveru, kde se nachází vaše databáze, a do textového pole „SQL příkaz“ zadejte parametrizovaný dotaz.
Nakonec klikněte na tlačítko „Parametry“. V dialogovém okně „Konfigurace úlohy SSIS Execute SQL“ namapujte parametr SSIS na parametr SQL Serveru. Poté kliknutím na tlačítko „OK“ zavřete dialogové okno a opětovným kliknutím na tlačítko „OK“ zavřete úlohu „Datový tok“.