Podle: Koen Verbeeck | Aktualizováno: 2018-07-31 | Komentáře (13) | Související: Více >Vývoj integračních služeb

Problém

SQL Server Data Tools (SSDT) je vývojové prostředí pro vytváření a údržbu balíčků a projektů integračních služeb (SSIS). Historicky neexistovala zpětná kompatibilita, což znamená, že s novější verzí SSDT nebylo možné vytvářet balíčky SSIS pro starší verzi SSDT. Od verze SQL Server 2016 podporují SQL Server Data Tools zpětnou kompatibilitu až do verze SQL Server 2012. V tomto tipu je tato nová funkce vysvětlena.

Řešení

Úvod

Historicky měla každá verze SQL Serveru doprovodnou verzi vývojového prostředí BusinessIntelligence. Vždy se jednalo buď o sadu šablon nainstalovaných do Visual Studia, nebo pokud již Visual Studio nebylo k dispozici, o shellof Visual Studia schopný zpracovávat pouze projekty BI. Pomocí tohoto nástroje bylo možné vyvíjet projekty Integration Services, Analysis Services a Reporting Services.Původně se tento nástroj nazýval Business Intelligence Development Studio nebo BIDS.V SQL Serveru 2012 byl přejmenován na SQL Server Data Tools. Společnost Microsofthad však měla i další produkt s názvem SQL Server Data Tools; pomocí tohoto nástroje jste mohli vytvářet a spravovat databázové projekty SQL Serveru. Nástroj BI byl k dispozici na instalačním médiuSQL Serveru, zatímco databázový nástroj byl ke stažení samostatně (a zdarma). Protože to způsobilo značný zmatek, byl SSDT přejmenován na SQL ServerData Tools for Business Intelligence nebo SSDT-BI. Od verze SQL Server 2016 jsou nástroje BI nyní spojeny s databázovým nástrojem a celá sada nástrojů se nyní jmenujeSQL Server Data Tools nebo SSDT. Přehled:

  • SQL Server 2005 – Visual Studio 2005 (BIDS)
  • SQL Server 2008 a 2008R2 – Visual Studio 2008 (BIDS)
  • SQL Server 2012 – Visual Studio 2010 (SSDT, k dispozici na instalačním médiu SQL Serveru) nebo Visual Studio 2012 (SSDT-BI, k dispozici ke stažení samostatně)
  • SQL Server 2014 – Visual Studio 2013 (SSDT-BI, k dispozici ke stažení samostatně)
  • SQL Server 2016 – Visual Studio 2015 (SSDT, k dispozici ke stažení samostatně a zahrnuje i databázové projekty)
  • SQL Server 2017 – Visual Studio 2015 nebo Visual Studio 2017 (SSDT)

Problémem zde bylo, že SSIS neměl žádnou podporu zpětné kompatibility.Pokud jste například chtěli vyvíjet balíčky pro SQL Server 2008, potřebovali jste VisualStudio 2008. Pokud jste chtěli vyvíjet pro SQL Server 2014, potřebovali jste Visual Studio2013. S aplikací Visual Studio 2013 jste nemohli vyvíjet projekty SSIS pro SQL Server2008 ani pro žádnou jinou verzi SQL Serveru kromě SQL Serveru 2014. To znamenalo, že pokud jste pracovali s několika verzemi SSIS, skončili jste s mnoha různýmiverzemi Visual Studia na vývojovém počítači.

Nejnovější verze SSDT (od SQL Serveru 2016) tyto problémy řeší: zavedením zpětné kompatibility můžete používat jednu verzi SSDT pro vývoj a údržbuverzí projektů SSIS od roku 2012 až po rok 2017 a novější. Je důležité poznamenat, že SSAS a SSRS podporují zpětnou kompatibilitu již delší dobu.

SSIS a zpětná kompatibilita

Zbytek tohoto tipu byl napsán s použitím verze Visual Studio 2015 SSDT,spolu s SQL Serverem 2016. Všechny rady uvedené v tomto tipu jsou platné i propozdější verze.

Nejprve musíme nainstalovat nejnovější verzi Visual Studio 2015SSDT preview release. Když otevřete instalační médium SQL Serveru 2016, naleznete odkaz na stránku pro stažení. Obsahuje také odkaz na stránku pro stažení aplikace SQL Server Management Studio (SSMS), protože ta je nyní také samostatně ke stažení.

Vytvoření nového projektu

Při přidání nového projektu můžete vidět, že v SSDT je nyní možné vytvářet také databázové projekty a projekty BI.

Ve vlastnostech projektu můžete nastavit cílovou verzi SSIS, kterou bude SSDT pro tento projekt používat.

Výchozí cílová verze je SQL Server 2016 (v novějších verzích SSIS to bude nejnovější verze SQL Serveru). Podporovány jsou i verze SQL Server 2014 a SQL Server 2012, zatímco starší verze (2005 a 2008) podporovány nejsou. Pokud máte starší projekty než SQL Server 2012, budete je muset nejprve aktualizovat, než budete moci použít nejnovější verzi SSDT.

Po nastavení cílové verze se sada nástrojů SSIS odpovídajícím způsobem přizpůsobí. Například v SQL Serveru 2016 jsou k dispozici nové úlohy Hadoop a můžete si stáhnout úlohyAzure z balíčku funkcíAzure.

Při nastavení verze na SQL Server 2014 všechny tyto nové úlohy ze sady nástrojů SSIS zmizí. Totéž platí pro transformace toku dat zavedenév SQL Serveru 2016.

Při změně verze projektu se zobrazí upozornění, že může dojít ke změně existujícíchbalíčků:

Pokud však používáte funkce SQL Serveru 2016, zobrazí se po nastavení cílové verze na starší verzi při otevření balíčku chyba:

Balíček se sice otevře, ale mohou zmizet inkriminované úlohy, transformace nebo správci připojení, případně nelze otevřít editor. Je možné, že přepnutí zpět na SQL Server 2016 problém nevyřeší: objekt může být stále nefunkční. V takovém případě nezbývá než objekt odebrata znovu přidat.

V době psaní tohoto článku existuje několik chyb při přepínání mezi cílovýmiverzemi. Jejich seznam najdete na blogu MSDN v příspěvkuCo je nového v SSIS 2016 RC0? Je možné, že některé z nich jsou již opravenyv době, kdy čtete tento článek.

Pokud máte v SSIS vlastní komponenty, musíte provést několik dodatečných kroků, aby fungovaly s vlastností cílové verze. MVP SQL Serveru Joost vanRossum vysvětluje, jak to můžete udělat, ve svém příspěvku na bloguPřepínání cílových verzí serveru pro vlastní komponenty.

Přidání existujících balíčků do projektu

Pokud do projektu přidáte existující balíček SSIS z dřívější verze – například balíček SSIS 2012 do projektu 2016 – bude balíček aktualizován tak, aby odpovídal cílové verzi.

Pokud se verze shodují, k upgradu samozřejmě nedojde, balíček se do projektu přidá přímo. Do projektu můžete přidat i balíčky z vyšší verze,SSIS se je pokusí downgradovat.

Testování však ukazuje, že této zprávě nelze vždy věřit. I při úspěšné zprávě může být balíček poškozen, pokud použijete pouze komponenty SQL Serveru 2016.

Otevření existujícího projektu

Pokud pomocí SSDT 2015 otevřete projekt vytvořený pomocí starší verze SSDT,automaticky se spustí průvodce upgradem. To znamená, že všechny balíčky jsouaktualizovány na SQL Server 2016.

Ačkoli můžete projekt stále downgradovat zpět na starší verzi, procházet procesem upgradu možná nechcete. Jako alternativu můžete upravit soubor projektu a přidat následující řádek:

Tím SSDT 2015 přeskočí průvodce upgradem a přímo otevře projektse správnou cílovou verzí. Pro SQL Server 2014 samozřejmě změníte SQLServer2012na SQLServer2014. Ačkoli se zdá, že toto řešení funguje,ruční úprava XML souboru projektu není skutečně podporována. Moje rada je vytvořit nový prázdný projekt, nastavit cílovou verzi a pak začít přidávat balíčky.

Části kontrolního toku

Části kontrolního toku jsou představeny v tipuSQL Server Integration Services 2016 Control Flow Templates Introduction (byly přejmenovány ze šablon na části). Překvapivě můžete s částmi kontrolních toků pracovat i v případě, že cílovou verzí není SQL Server2016. Je to možné, protože se jedná o funkci v době návrhu a nemají vliv na to, jak balíčky skutečně fungují. V příkladu zde jsem vytvořil nový projekt scílovou verzí nastavenou na SQL Server 2014. Vytvořil jsem jednoduchou část toku řízenía přidal ji do balíčku.

Debugování balíčku není problém.

A balíček můžete spustit také uvnitř katalogu SSIS SQL Server 2014:

Závěr

Vlastnost Target Server Version zavádí zpětnou kompatibilitupro projekt SSIS v SSDT 2015. Díky této nové možnosti byla konečně opravena stará bolest SSIS: pro správu různých projektů SSIS můžete používat pouze jednu verzi Visual Studia. Doporučujeme, abyste verzi serveru nastavili na začátku projektu a abyste ji příliš často nepřepínali, protože to může vést k problémům.Dobrou zprávou je, že v SSDT 2015 a novějších verzích můžete používat i části control flowve svých starších projektech!

Další kroky
  • Další informace o různých verzích SQL Server Data Tools:
    • TheSSDT Evolution
    • SQL 2014 CTP1, kde je můj BIDS?
  • Další informace o částech Control Flow naleznete v tipuSQL Server Integration Services 2016 Control Flow Templates Introduction.
  • Další tipy pro SQL Server 2016 naleznete v tomto přehledu.

Poslední aktualizace:

O autorovi
Koen Verbeeck je profesionál v oblasti BI, specializuje se na Microsoft BI stack se zvláštní láskou k SSIS.
Podívejte se na všechny mé tipy
Související zdroje

  • Další tipy pro Business Intelligence…

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.