Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
SSIS Integration Runtime ve službě Azure Data Factory
Microsoft Integration Services a SSIS Designer zahrnují funkce a nástroje, které můžete použít k řešení potíží s toky dat v balíčku Integrační služby.
SSIS Designer poskytuje prohlížeče dat.
Transformace v Návrháři SSIS a Integration Services zobrazují počty řádků.
SSIS Designer poskytuje reportování průběhu během běhu.
Prohlížeče dat
Prohlížeče dat zobrazují data mezi dvěma komponentami v toku dat. Prohlížeče dat mohou zobrazit data, když jsou extrahována ze zdroje dat a poprvé vstoupí do toku dat, před a po tom, co je transformace aktualizuje, a před načtením dat do jejich cíle.
Pokud chcete zobrazit data, připojíte prohlížeče dat k cestě, která spojuje dvě komponenty toku dat. Možnost zobrazit data mezi komponentami toku dat usnadňuje identifikaci neočekávaných hodnot dat, zobrazení způsobu změny hodnot sloupců transformace a zjištění důvodu selhání transformace. Můžete například zjistit, že vyhledávání v referenční tabulce selže a chcete-li tento problém opravit, můžete přidat transformaci, která poskytuje výchozí data pro prázdné sloupce.
Prohlížeč dat může zobrazit data v mřížce. Pomocí mřížky vyberete sloupce, které se mají zobrazit. Hodnoty pro vybrané sloupce se zobrazují v tabulkovém formátu.
Také můžete zahrnout více prohlížečů dat na cestu. Stejná data můžete zobrazit v různých formátech– můžete například vytvořit zobrazení grafu a zobrazení mřížky dat nebo vytvořit různé prohlížeče dat pro různé sloupce dat.
Když do cesty přidáte prohlížeč dat, přidá návrhář SSIS ikonu prohlížeče dat na návrhovou plochu karty Tok dat vedle cesty. Transformace, které mohou mít více výstupů, jako je transformace podmíněného rozdělení, mohou na každé cestě obsahovat prohlížeč dat.
V době běhu se otevře okno Prohlížeče dat a zobrazí informace určené formátem prohlížeče dat. Například prohlížeč dat, který používá formát mřížky, zobrazuje data pro vybrané sloupce, počet výstupních řádků předaných komponentě toku dat a počet zobrazených řádků. Informace se zobrazují po jednotlivých vyrovnávacích pamětech, a v závislosti na šířce řádků v toku dat může vyrovnávací paměť obsahovat více nebo méně řádků.
V dialogovém okně Prohlížeč dat můžete zkopírovat data do schránky, vymazat všechna data z tabulky, překonfigurovat prohlížeč dat, obnovit tok dat a odpojit nebo připojit prohlížeč dat.
Přidání prohlížeče dat
Počty řádků
Počet řádků, které prošly cestou, se zobrazí na návrhové ploše karty Tok dat v nástroji SSIS Designer vedle cesty. Číslo se pravidelně aktualizuje, zatímco se data pohybují v cestě.
Do toku dat můžete také přidat transformaci počtu řádků, která zachytí konečný počet řádků v proměnné. Další informace naleznete v tématu Transformace počtu řádků.
Generování zpráv o průběhu
Když spustíte balíček, návrhář SSIS znázorňuje průběh na návrhové ploše karty Tok dat zobrazením jednotlivých komponent toku dat v barvě, která označuje stav. Když každá komponenta začne provádět svou práci, změní se z bezbarvé na žlutou, a po úspěšném dokončení se změní na zelenou. Červená barva označuje, že komponenta selhala.
Následující tabulka popisuje barevné kódování.
| Barva | Description |
|---|---|
| Bez barvy | Čeká se na zavolání modulem toku dat. |
| Yellow | Provádění transformace, extrahování dat nebo načítání dat |
| Green | Úspěšně se spustilo. |
| červený | Spuštěno s chybami. |
Analýza toku dat
K analýze toku dat balíčků můžete použít zobrazení databáze catalog.execution_data_statisticsSSISDB . Toto zobrazení zobrazí řádek pokaždé, když komponenta toku dat odesílá data do podřízené komponenty. Tyto informace lze použít k hlubšímu porozumění řádkům odesílaných do jednotlivých komponent.
Poznámka:
Úroveň protokolování musí být nastavena na Podrobné, aby bylo možné zachytit informace pomocí zobrazení catalog.execution_data_statistics.
Následující příklad zobrazuje počet řádků odeslaných mezi komponentami balíčku.
use SSISDB
select package_name, task_name, source_component_name, destination_component_name, rows_sent
from catalog.execution_data_statistics
where execution_id = 132
order by source_component_name, destination_component_name
Následující příklad vypočítá počet řádků na milisekundy odeslané každou komponentou pro konkrétní spuštění. Počítané hodnoty jsou:
total_rows – součet všech řádků odeslaných komponentou
wall_clock_time_ms – celkový uplynulý čas provádění v milisekundách pro každou komponentu
num_rows_per_millisecond – počet řádků na milisekundu odesílaných každou komponentou
Klauzule HAVING slouží k zabránění chybě dělení nulou ve výpočtech.
use SSISDB
select source_component_name, destination_component_name,
sum(rows_sent) as total_rows,
DATEDIFF(ms,min(created_time),max(created_time)) as wall_clock_time_ms,
((0.0+sum(rows_sent)) / (datediff(ms,min(created_time),max(created_time)))) as [num_rows_per_millisecond]
from [catalog].[execution_data_statistics]
where execution_id = 132
group by source_component_name, destination_component_name
having (datediff(ms,min(created_time),max(created_time))) > 0
order by source_component_name desc
Konfigurace výstupu chyby v komponentě toku dat
Mnoho komponent toku dat podporuje chybové výstupy a v závislosti na komponentě nabízí nástroj SSIS Designer různé způsoby konfigurace výstupu chyb. Kromě konfigurace výstupu chyby můžete také nakonfigurovat sloupce výstupu chyby. To zahrnuje konfiguraci sloupců ErrorCode a ErrorColumn , které jsou přidány komponentou.
Konfigurace chybového výstupu
Pokud chcete nakonfigurovat výstup chyby, máte dvě možnosti:
Použijte dialogové okno Konfigurace výstupu chyb. Toto dialogové okno můžete použít ke konfiguraci výstupu chyb u jakékoli komponenty toku dat, která podporuje výstup chyby.
Pro komponentu použijte dialogové okno editoru. Některé komponenty umožňují konfigurovat výstupy chyb přímo z dialogového okna editoru. Nelze však nakonfigurovat výstupy chyb z dialogového okna editoru pro zdroj ADO NET, transformaci importu sloupce, transformaci příkazu OLE DB nebo cíl SQL Server Compact.
Následující postupy popisují, jak pomocí těchto dialogových oken nakonfigurovat výstupy chyb.
Konfigurace výstupu chyby pomocí dialogového okna Konfigurovat výstup chyby
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení poklikáním otevřete balíček.
Ve nástroji SSIS Designer klikněte na kartu Tok dat.
Přetáhněte výstup chyby reprezentovaný červenou šipkou ze komponenty, která je zdrojem chyb, do jiné komponenty toku dat.
V dialogovém okně Konfigurovat výstup chyby vyberte akci ve sloupcích Chyba a Zkrácení pro každý sloupec ve vstupu komponenty.
Chcete-li uložit aktualizovaný balíček, v nabídce Soubor klepněte na tlačítko Uložit vybrané položky.
Přidání výstupu chyby pomocí dialogového okna editoru pro komponentu
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení poklikáním otevřete balíček.
V aplikaci SSIS Designer klikněte na záložku Tok dat.
Poklikejte na komponenty toku dat, ve kterých chcete nakonfigurovat výstup chyby, a v závislosti na komponentě proveďte jeden z následujících kroků:
Klikněte na Konfigurace chybového výstupu.
Klikněte na Error Output.
Nastavte možnost Chyba pro každý sloupec.
Nastavte možnost Zkrácení pro každý sloupec.
Klikněte na OK.
Chcete-li uložit aktualizovaný balíček, v nabídce Soubor klepněte na tlačítko Uložit vybrané položky.
Konfigurace výstupních sloupců chyb
Ke konfiguraci sloupců výstupu chyby musíte použít kartu Vlastnosti vstupu a výstupu dialogového okna Rozšířený editor .
Chcete-li konfigurovat sloupce výstupu chyb
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení poklikáním otevřete balíček.
V nástroji SSIS Designer klikněte na kartu Tok dat.
Klikněte pravým tlačítkem myši na komponentu, jejíž výstupní sloupce s chybou chcete konfigurovat, a klikněte na Zobrazit rozšířený editor.
Klikněte na kartu Vlastnosti vstupu a výstupu a rozbalte <název> komponenty Výstup chyby a potom rozbalte výstupní sloupce.
Klikněte na sloupec a aktualizujte jeho vlastnosti.
Poznámka:
Seznam sloupců obsahuje sloupce ve vstupu komponenty, sloupce ErrorCode a ErrorColumn přidané předchozími výstupy chyb a sloupce ErrorCode a ErrorColumn přidané touto komponentou.
Klikněte na OK.
Chcete-li uložit aktualizovaný balíček, v nabídce Soubor klepněte na tlačítko Uložit vybrané položky.
Přidání prohlížeče dat do toku dat
Toto téma popisuje, jak přidat a nakonfigurovat prohlížeč dat v toku dat. Prohlížeč dat zobrazuje data, která se pohybují mezi dvěma komponentami toku dat. Prohlížeč dat může například zobrazit data extrahovaná ze zdroje dat před tím, než je transformace toku dat upraví.
Cesta spojuje komponenty v toku dat propojením výstupu jedné komponenty toku dat se vstupem jiné komponenty.
Před přidáním prohlížečů dat do balíčku musí balíček obsahovat úlohu toku dat a alespoň dvě součásti toku dat, které jsou připojené.
Přidejte prohlížeč dat do výstupu chyby, abyste viděli popis chyby a název sloupce, ve kterém došlo k chybě. Ve výchozím nastavení výstup chyby obsahuje pouze číselné identifikátory chyby a sloupce.
Přidání prohlížeče dat do toku dat
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení poklikáním otevřete balíček.
Klikněte na kartu Tok řízení, pokud ještě není aktivní.
Klikněte na úlohu Toku dat, ke které chcete připojit prohlížeč dat, a potom klikněte na kartu Tok dat .
Klikněte pravým tlačítkem myši na cestu mezi dvěma komponentami toku dat a klikněte na Upravit.
Na stránce Obecné můžete zobrazit a upravit vlastnosti cesty. Například z rozevíracího seznamu PathAnnotation můžete vybrat poznámku, která se zobrazí vedle cesty.
Na stránce Metadata můžete zobrazit metadata sloupce a zkopírovat je do schránky.
Na stránce Prohlížeč dat klikněte na Povolit prohlížeč dat.
V oblasti Sloupce, které chcete zobrazit, vyberte sloupce, které chcete zobrazit v prohlížeči dat. Ve výchozím nastavení jsou vybrány všechny dostupné sloupce a uvedeny v seznamu Zobrazené sloupce . Sloupce, které nechcete použít, přesuňte do seznamu Nepoužitý sloupec tak, že je vyberete a kliknete na šipku vlevo.
Poznámka:
V mřížce se hodnoty představující DT_DATE, DT_DBTIME2, DT_FILETIME, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 a datové typy DT_DBTIMESTAMPOFFSET zobrazují jako formátované řetězce ISO 8601 a oddělovač mezer nahradí oddělovač T . Hodnoty, které představují DT_DATE a datové typy DT_FILETIME, zahrnují sedm číslic pro desetinné sekundy. Vzhledem k tomu, že datový typ DT_FILETIME ukládá pouze tři číslice desetinných sekund, mřížka zobrazuje nuly pro zbývající čtyři číslice. Hodnoty představující datový typ DT_DBTIMESTAMP obsahují tři číslice pro desetinné sekundy. Pro hodnoty, které představují datové typy DT_DBTIME2, DT_DBTIMESTAMP2 a DT_DBTIMESTAMPOFFSET, odpovídá počet číslic pro desetinné sekundy měřítku zadanému pro datový typ sloupce. Další informace o formátech ISO 8601 naleznete v tématu Formáty data a času. Pro více informací o datových typech, viz Integration Services Data Types.
Klikněte na OK.
Klepnutí na tok dat
Můžete přidat odposlech dat na cestu toku dat balíčku během jeho provádění a směrovat výstup z odposlechu dat do externího souboru. Pokud chcete tuto funkci použít, musíte projekt SSIS nasadit pomocí modelu nasazení projektu na server SSIS. Po nasazení balíčku na server musíte spustit skripty T-SQL proti databázi SSISDB pro přidání datových odposlechů před samotným spuštěním balíčku. Tady je ukázkový scénář:
Vytvořte instanci spuštění balíčku pomocí uložené procedury catalog.create_execution (databáze SSISDB).
Přidejte datový odposlech pomocí uložených procedur catalog.add_data_tap nebo catalog.add_data_tap_by_guid.
Spusťte instanci spuštění balíčku pomocí catalog.start_execution (databáze SSISDB).
Tady je ukázkový skript SQL, který provádí kroky popsané ve výše uvedeném scénáři:
Declare @execid bigint
EXEC [SSISDB].[catalog].[create_execution] @folder_name=N'ETL Folder', @project_name=N'ETL Project', @package_name=N'Package.dtsx', @execution_id=@execid OUTPUT
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt'
EXEC [SSISDB].[catalog].[start_execution] @execid
Parametry názvu složky, názvu projektu a názvu balíčku create_execution uložené procedury odpovídají názvům složek, projektů a balíčků v katalogu integračních služeb. Můžete získat názvy složek, projektů a balíčků, které se mají použít v create_execution volání z aplikace SQL Server Management Studio, jak je znázorněno na následujícím obrázku. Pokud se zde váš projekt SSIS nezobrazuje, možná jste projekt ještě nenasadili na server SSIS. Klikněte pravým tlačítkem na projekt SSIS v sadě Visual Studio a vyberte možnost Nasadit pro nasazení projektu na cílový server SSIS.
Místo zadávání příkazů SQL můžete vygenerovat skript pro spuštění balíčku provedením následujících kroků:
Klikněte pravým tlačítkem na Package.dtsx a klikněte na Spustit.
Kliknutím na tlačítko Panel nástrojů Skript vygenerujete skript.
Před voláním start_execution teď přidejte příkaz add_data_tap.
Parametr task_package_path uložené procedury add_data_tap odpovídá vlastnosti PackagePath úlohy toku dat v prostředí Visual Studio. V sadě Visual Studio klikněte pravým tlačítkem myši na úlohu toku dat a kliknutím na Vlastnosti spusťte okno Vlastnosti. Poznamenejte si hodnotu vlastnosti PackagePath, která se má použít jako hodnota parametru task_package_path pro volání uložené procedury add_data_tap.
Parametr dataflow_path_id_string uložené procedury add_data_tap odpovídá vlastnosti IdentificationString cesty toku dat, ke které chcete přidat data tap. Chcete-li získat dataflow_path_id_string, klikněte na cestu toku dat (šipka mezi úkoly v toku dat) a v okně Vlastnosti si poznamenejte hodnotu vlastnosti IdentificationString.
Při spuštění skriptu se výstupní soubor uloží ve složce <Program Files>\Microsoft SQL Server\110\DTS\DataDumps. Pokud soubor s názvem již existuje, vytvoří se nový soubor s příponou (například: output[1].txt).
Jak bylo zmíněno dříve, můžete použít uloženou proceduru catalog.add_data_tap_by_guid místo procedury add_data_tap. Tato uložená procedura přebírá ID úlohy toku dat jako parametr místo task_package_path. ID úlohy toku dat můžete získat z okna vlastností v sadě Visual Studio.
Odebrání klepnutí na data
Pomocí uložené procedury catalog.remove_data_tap můžete před spuštěním provádění odebrat datový odposlech. Tato uložená procedura přebírá ID klepnutí na data jako parametr, který můžete získat jako výstup add_data_tap uložené procedury.
DECLARE @tap_id bigint
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt' @data_tap_id=@tap_id OUTPUT
EXEC [SSISDB].[catalog].remove_data_tap @tap_id
Výpis všech datových toků
Pomocí pohledu catalog.execution_data_taps můžete také vypsat seznam všech datových tapů. Následující příklad extrahuje klepnutí na data pro instanci provádění specifikace (ID: 54).
select * from [SSISDB].[catalog].execution_data_taps where execution_id=@execid
Aspekty výkonnosti
Povolení úrovně podrobného protokolování a přidání datových odboček zvýší počet vstupně-výstupních operací prováděných vaším řešením pro integraci dat. Proto doporučujeme přidat datové odbočky pouze pro účely řešení potíží.
Video
Toto video na TechNetu ukazuje, jak v katalogu SSISDB SQL Serveru 2012 přidat nebo použít datové odbočky, které pomáhají programově ladit balíčky a zachytávat částečné výsledky během běhu programu. Popisuje také, jak vypsat nebo odebrat tyto datové odbočky a osvědčené postupy pro používání datových odboček v balíčcích SSIS.