Tekijä: Koen Verbeeck | Päivitetty: Verenek: 2018-07-31 | Comments (13) | Related: 2018-07-31 | Comments (13) | Related: 2018-07-31 | Comments (13) | Related: SQL Server Data Tools (SSDT) on kehitysympäristö Integration Services (SSIS) -pakettien ja -projektien luomiseen ja ylläpitoon. Historiallisesti ei ollut taaksepäin yhteensopivuutta, mikä tarkoitti, että SSDT:n uudemmalla versiolla ei voinut luoda SSIS-paketteja SSDT:n vanhemmalle versiolle. SQL Server 2016 -versiosta lähtien SQL Server Data Tools tukee taaksepäin yhteensopivuutta SQL Server 2012:een asti. Tämävinkki selittää uuden ominaisuuden.

Ratkaisu

Esittely

Historiallisesti jokaisella SQL Serverin versiolla oli mukana liiketoimintatiedon kehitysympäristön julkaisu. Tämä oli aina joko joukko malleja, jotka oli asennettu Visual Studioon, tai jos Visual Studiota ei vielä ollut, Visual Studion kuori, joka pystyi käsittelemään vain BI-projekteja. Tämän työkalun avulla voit kehittää Integration Services-, Analysis Services- ja Reporting Services -projekteja.Alun perin tämän työkalun nimi oli Business Intelligence Development Studio eli BIDS.SQL Server 2012:ssa se nimettiin uudelleen SQL Server Data Toolsiksi. Microsoftilla oli kuitenkin myös toinen tuote nimeltä SQL Server Data Tools; tällä työkalulla voit luoda ja hallita SQL Server -tietokantaprojekteja. BI-työkalu oli saatavilla SQL Serverin asennusmediassa, kun taas tietokantatyökalu oli erillinen (ja ilmainen) lataus. Koska tämä aiheutti melkoista sekaannusta, SSDT:n nimi muutettiin SQL ServerData Tools for Business Intelligenceksi eli SSDT-BI:ksi. SQL Server 2016:sta lähtien BI-työkalut on nyt yhdistetty tietokantatyökaluun, ja koko työkalupaketin nimi on nytSQL Server Data Tools tai SSDT. Yleiskatsaus:

  • SQL Server 2005 – Visual Studio 2005 (BIDS)
  • SQL Server 2008 ja 2008R2 – Visual Studio 2008 (BIDS)
  • SQL Server 2012 – Visual Studio 2010 (SSDT, saatavana SQL Serverin asennusvälineestä) tai Visual Studio 2012 (SSDT-BI, saatavana erillisenä latauksena)
  • SQL Server 2014 – Visual Studio 2013 (SSDT-BI, saatavana erillisenä latauksena)
  • SQL Server 2016 – Visual Studio 2015 (SSDT, saatavana erillisenä latauksenaja sisältää myös tietokantaprojektit)
  • SQL Server 2017 – Visual Studio 2015 tai Visual Studio 2017 (SSDT)

Ongelma tässä oli se, että SSIS:ssä ei ollut tukea taaksepäin yhteensopivuudelle.Jos esimerkiksi halusi kehittää paketteja SQL Server 2008:lle, tarvittiin VisualStudio 2008. Jos halusit kehittää SQL Server 2014:lle, tarvitsit Visual Studio2013:n. Visual Studio 2013:n avulla et voinut kehittää SSIS-projekteja SQL Server2008:lle tai millekään muulle SQL Server -versiolle paitsi SQL Server 2014:lle. Tämä tarkoitti sitä, että jos työskentelit useiden SSIS-versioiden kanssa, sinulla oli kehityskoneellasi useita eri Visual Studio -versioita.

SSDT:n viimeisimmissä versioissa (SQL Server 2016:sta lähtien) nämä ongelmat on ratkaistu: ottamalla käyttöön taaksepäin yhteensopivuuden voit käyttää yhtä ainoaa SSDT-versiota SSIS-projektien versioiden kehittämiseen ja ylläpitoon vuodesta 2012 lähtien aina vuoteen 2017 asti ja myöhempiin vuosiin. On tärkeää huomata,että SSAS ja SSRS tukevat taaksepäin yhteensopivuutta jo jonkin aikaa.

SSIS ja taaksepäin yhteensopivuus

Tämän vinkin loppuosa on kirjoitettu käyttäen Visual Studio 2015 SSDT-julkaisua,yhdessä SQL Server 2016:n kanssa. Kaikki tässä vinkissä annetut neuvot pätevät myös myöhemmille versioille.

Aluksi meidän on asennettava Visual Studio 2015SSDT:n esikatseluversion uusin versio. Kun avaat SQL Server 2016 -asennusmedian, löydät linkin lataussivulle. Sieltä löytyy myös linkki SQL Server Management Studion (SSMS) lataussivulle, sillä sekin on nyt erikseen ladattavissa.

Uuden projektin luominen

Kun lisäät uuden projektin, huomaat, että SSDT:ssä on nyt mahdollista luoda sekä tietokanta- että BI-projekteja.

Projektin ominaisuuksissa voit määrittää SSIS:n kohdeversion, jota SSDT käyttää tälle projektille.

Kohdeversio on oletusarvoisesti SQL Server 2016 (myöhemmissä SSIS-versioissa se on SQL Serverin uusin versio). SQL Server 2014 ja SQL Server 2012ovat myös tuettuja, kun taas vanhempia versioita (2005 ja 2008) ei tueta. Jos sinulla on vanhempia projekteja kuin SQL Server 2012, sinun on päivitettävä ne ensin ennen kuin voit käyttää uusinta SSDT-versiota.

Kun kohdeversio on asetettu, SSIS-työkalupakki mukautuu sen mukaisesti. Esimerkiksi SQL Server 2016:ssa on käytettävissä uusia Hadoop-tehtäviä, ja voit ladataAzure-tehtäviäAzure-ominaisuuspaketista.

Kun asetat version SQL Server 2014:ksi, kaikki nämä uudet tehtävät katoavat SSIS-työkalupakista. Sama pätee SQL Server 2016:ssa käyttöönotettuihin tietovirtamuunnoksiin.

Kun muutat projektin versiota, saat varoituksen siitä, että olemassa olevia paketteja saatetaan muuttaa:

Jos käytät SQL Server 2016 -toiminnallisuutta, saat kuitenkin virheilmoituksen sen jälkeen, kun olet asettanut kohdeversion aikaisempaan versioon, kun avaat paketin:

Paketti aukeaa silti, mutta häiritsevät tehtävät, muunnokset tai connectionmanagerit saattavat kadota, tai et pysty avaamaan editoria. On mahdollista,että siirtyminen takaisin SQL Server 2016:een ei ratkaise ongelmaa: kohde saattaa olla edelleen rikki. Siinä tapauksessa ei ole muuta vaihtoehtoa kuin poistaa objektija lisätä se uudelleen.

Kirjoitushetkellä kohdeversioiden välillä vaihdettaessa on pari virhettä. Löydät luettelon MSDN-blogikirjoituksestaWhat’s New for SSIS 2016 RC0?. On mahdollista, että osa niistä on jo korjattu tätä lukiessasi.

Kun sinulla on omia mukautettuja komponentteja SSIS:ssä, sinun on tehtävä joitakin ekstratoimia, jotta saat ne toimimaan kohdeversio-ominaisuuden kanssa. SQL Server MVP Joost vanRossum selittää, miten voit tehdä tämän blogikirjoituksessaanKohdepalvelinversioiden vaihtaminen mukautetuille komponenteille.

Olemassa olevien pakettien lisääminen projektiin

Kun lisäät olemassa olevan SSIS-paketin aiemmasta versiosta projektiin – esimerkiksi SSIS 2012 -paketin 2016-projektiin – paketti päivitetään vastaamaan kohdeversiota.

Kun versiot vastaavat toisiaan, päivitystä ei tietenkään tehdä, vaan paketti lisätään suoraan projektiin. Voit lisätä projektiin myös korkeamman version paketteja,SSIS yrittää päivittää ne alaspäin.

Testaus osoittaa kuitenkin, ettei tähän viestiin voi aina luottaa. Vaikka saisit onnistumisviestin, paketti voi rikkoutua, jos käytät vain SQL Server 2016 -komponentteja.

Olemassa olevan projektin avaaminen

Kun käytät SSDT 2015:tä avataksesi projektin, joka on luotu aiemmalla SSDT-versiolla,päivitysvelho käynnistyy automaattisesti. Tämä tarkoittaa, että kaikki paketit päivitetään SQL Server 2016:een.

Vaikka voit edelleen päivittää projektin takaisin aiempaan versioon, päivitysprosessin läpikäyminen on ehkä jotain, mitä et halua. Vaihtoehtoisesti voit muokata projektitiedostoa ja lisätä seuraavan rivin:

Tällöin SSDT 2015 ohittaa päivitysvelhon ja avaa projektin suoraan oikealla kohdeversiolla. SQL Server 2014:lle vaihdat SQLServer2012:n tietenkin SQLServer2014:ksi. Vaikka tämä kiertotapa näyttää toimivan, projektitiedoston XML-tiedoston manuaalinen muokkaaminen ei ole oikein tuettu. Neuvoni on luoda uusi tyhjä projekti, asettaa kohdeversio ja aloittaa sitten pakettien lisääminen.

Control Flow Parts

Control Flow Parts esitellään vinkissäSQL Server Integration Services 2016 Control Flow Templates Introduction (neon nimetty uudelleen templatesista partsiksi). Yllättäen voit edelleen työskennellä ohjausvirtaosien kanssa, jos kohdeversiosi ei ole SQL Server2016. Tämä on mahdollista, koska ne ovat suunnitteluaikainen ominaisuus eivätkä ne vaikuta siihen, miten paketit todellisuudessa toimivat. Tässä esimerkissä olen luonut uuden projektin, jonka kohdeversioksi on asetettu SQL Server 2014. Loin yksinkertaisen ohjausvirtaosanja lisäsin sen pakettiin.

Paketin vianmääritys ei ole ongelma.

Ja voit myös suorittaa paketin SQL Server 2014 SSIS-katalogin sisällä:

Johtopäätös

Kohdepalvelinversio-ominaisuus ottaa käyttöön taaksepäin yhteensopivuuden SSIS-projektin SSDT 2015:ssä. Tämän uuden ominaisuuden avulla SSIS:n vanha kipeys on lopultakin korjattu: voit käyttää vain yhtä Visual Studion versiota eri SSIS-projektien hallintaan. On suositeltavaa asettaa palvelinversio projektin alussa, etkä vaihda sitä liian usein, koska se voi johtaa ongelmiin.Hyvä uutinen on, että SSDT 2015:n ja uudempien versioiden kanssa voit käyttää kontrollivirtaosioita myös vanhemmissa projekteissasi!

Seuraavat vaiheet
  • Lisätietoa SQL Server Data Toolsin eri versioista:
    • TheSSDT Evolution
    • SQL 2014 CTP1, missä on BIDSini?
  • Lisätietoa Control Flow -osista saat vinkistäSQL Server Integration Services 2016 Control Flow Templates Introduction.
  • Lisätietoa SQL Server 2016 -vinkkejä saat tästä yleiskatsauksesta.

Viimeisin päivitetty:

Tietoa kirjoittajasta
Koen Verbeeck on BI-ammattilainen, joka on erikoistunut Microsoftin BI-pinoon ja rakastaa erityisesti SSIS:ää.
Katsele kaikki vinkkini
Aiheeseen liittyvät resurssit

  • Lisää Business Intelligence -vinkkejä…

Vastaa

Sähköpostiosoitettasi ei julkaista.