služba SSIS (SSIS) DevOps Tools Azure DevOps-tillägg

SSIS DevOps Tools-tillägget finns tillgängligt i Azure DevOps Marketplace. SSIS DevOps stöder Azure DevOps Services, Azure DevOps Server 2019 och senare.

Om du inte har en Azure DevOps-organisation, registrera dig först för Azure-pipelines och lägg sedan till SSIS DevOps Tools-tillägget enligt stegen.

SSIS DevOps Tools inkluderar SSIS Build-uppgiften , SSIS Deploy-releaseuppgiften och SSIS-katalogkonfigurationsuppgiften.

  • SSIS Build-uppgiften stödjer att bygga dtproj-filer i projektdistributionsmodellen eller paketdistributionsmodellen.

  • SSIS Deploy-uppgiften stödjer distribution av en eller flera ispac-filer till lokal SSIS-katalog och Azure-SSIS IR- eller SSISDeploymentManifest-filer och deras tillhörande filer till lokal eller Azure fildelning.

  • SSIS Catalog Configuration Task stöder konfiguration av mapp/projekt/miljö i SSIS Catalog med en konfigurationsfil i JSON-format. Denna uppgift stödjer följande scenarier:

    • Mapp
      • Skapa mapp.
      • Uppdatera mappbeskrivning.
    • Projekt
      • Konfigurera värdet på parametrarna, både bokstavligt värde och referensvärde stöds.
      • Lägg till miljöreferenser.
    • Miljö
      • Skapa en miljö.
      • Uppdatera miljöbeskrivningen.
      • Skapa eller uppdatera miljövariabel.

SSIS-byggaktivitet

bygguppgift

Egenskaper

Projektsökväg

Sökväg för projektmappen eller filen som ska byggas. Om en mappväg anges kommer SSIS Build-uppgiften att söka igenom alla dtproj-filer rekursivt under denna mapp och bygga dem alla.

Projektsökvägen kan inte vara tom, ange den som . för att bygga från lagringsplatsens rotmapp.

Projektkonfiguration

Namnet på den projektkonfiguration som ska användas för bygget. Om det inte tillhandahålls, går det tillbaka till den första definierade projektkonfigurationen i varje dtproj-fil.

Utdataväg

Sökvägen till en separat mapp där byggresultat sparas och som kan publiceras som en byggartefakt via aktiviteten Publicera byggartefakter.

Begränsningar och kända problem

  • SSIS Build-uppgiften bygger på Visual Studio och SSIS designer, vilket är obligatoriskt för byggagenter. Alltså, för att köra SSIS Build-uppgiften i pipelinen:

    • för Microsoft-hostade agenter måste du välja en tillgänglig avbild som inkluderar Visual Studio och služba SSIS-tillägget, till exempel Windows-2022. Detaljer hänvisar till Microsoft-hostade agenters dokumentation för programvara som ingår i tillgängliga bilder.
    • för självhostade agenter, installera Visual Studio och SSIS designer (antingen VS2022 + SSIS Projects-tillägget, eller VS2019 + SSIS Projects-tillägget) på självhostade agenter.
  • För att bygga SSIS-projekt med färdiga komponenter (inklusive SSIS Azure feature pack och andra tredjepartskomponenter) måste dessa färdiga komponenter installeras på maskinen där pipeline-agenten körs. För Microsoft-hostad agent kan användaren lägga till en PowerShell Script-uppgift eller en kommandoradsskriptuppgift för att ladda ner och installera komponenterna innan SSIS Build-uppgiften körs. Nedan följer ett exempel på PowerShell-skript för att installera Azure Feature Pack:

wget -Uri https://download.microsoft.com/download/E/E/0/EE0CB6A0-4105-466D-A7CA-5E39FA9AB128/SsisAzureFeaturePack_2017_x86.msi -OutFile AFP.msi

start -Wait -FilePath msiexec -Args "/i AFP.msi /quiet /l* log.txt"

cat log.txt
  • Skyddsnivån EncrypteSensitiveWithPassword och EncryptAllWithPassword stöds inte i SSIS Build-uppgiften. Se till att alla SSIS-projekt i kodbasen inte använder dessa två skyddsnivåer, annars slutar SSIS Build-uppgiften att svara och tiden går ut under körningen.

SSIS-byggaktivitet version 1.*

Förbättringar i version 1.*:

  • Ta bort beroendet av Visual Studio och SSIS-designern. Bygguppgiften kan köras på en Microsoft-hostad agent eller en självhostad agent med Windows OS och .NET-ramverket 4.6.2 eller högre.

  • Ingen anledning att installera färdiga komponenter.

  • Stöd skyddsnivå Encryption WithPassword och EncryptionAllWithPassword.

Begränsningar och kända problem

  • SSIS Build-aktiviteten version 1.* har inte stöd för att skapa SSIS-projektet som innehåller ett SSIS-paket med en digital signatur.

Endast egenskaper för version 1.*

Projektlösenord

Lösenord för SSIS-projektet och dess paket. Det här argumentet är endast giltigt när skyddsnivån för SSIS-projektet och paketen är EncryptSensitiveWithPassword eller EncryptAllWithPassword. För paketdistributionsmodellen måste alla paket dela samma lösenord som anges i det här argumentet.

Rensa känslig data

Konvertera skyddsnivån för SSIS-projektet till DontSaveSensitive om detta värde är sant. När skyddsnivån är EncryptSensitiveWithPassword eller EncryptAllWithPassword måste argumentet Project Password vara korrekt inställt. Det här alternativet är endast giltigt för projektdistributionsmodellen.

SSIS Deploy-uppgift

Uppdrag att deploya

Egenskaper

Källsökväg

Vägen för källfiler från ISPAC eller SSISDeploymentManifest som du vill distribuera. Denna sökväg kan vara en mappväg eller en filväg.

Typ av destination

Typ av destination. För närvarande stöder SSIS Deploy-uppgiften två typer:

  • Filsystem: Distribuera SSISDeploymentManifest-filer och deras tillhörande filer till ett angivet filsystem. Både lokal och Azure-fildelning stöds.
  • SSISDB: Distribuera ISPAC-filer till en specificerad SSIS-katalog, som kan hostas lokalt SQL Server eller Azure-SSIS Integration Runtime.

Målserver

Namn på måldatabasmotorn. Det kan vara namnet på en lokal SQL Server, Azure SQL Database eller Azure SQL Managed Instance. Denna egenskap är endast synlig när destinationstypen är SSISDB.

Målsökväg

Sökvägen till destinationsmappen dit källfilen kommer att distribueras. Ett exempel:

  • /SSISDB/<mappnamn>
  • \\<maskinNamn>\<deladMappNamn>\<valfrittUndermappNamn>

SSIS Deploy-uppgiften skapar mappen och undermappen om de inte finns.

Autentiseringstyp

Autentiseringstyp för att komma åt den angivna destinationsservern. Denna egenskap är endast synlig när destinationstypen är SSISDB. Generellt stöds följande autentiseringstyper:

  • Windows-autentisering
  • SQL Server-autentisering
  • služba Active Directory – lösenord
  • služba Active Directory – integrerad

Men om en specifik autentiseringstyp stöds beror på destinationsservertyp och agenttyp. Detaljstödmatris listas i tabellen nedan.

Destinationsservertyp Microsoft-hanterad agent Lokalt installerad agent
SQL Server on-premises eller VM N/A Windows-autentisering
Azure SQL SQL Server-autentisering
služba Active Directory – lösenord
SQL Server-autentisering
služba Active Directory - Lösenord
služba Active Directory – integrerad

Domännamn

Domännamn för att komma åt det angivna filsystemet. Denna egenskap är endast synlig när Destinationstypen är Filsystem. Du kan lämna den tom när användarkontot som kör den självhostade agenten har fått läs-/skrivåtkomst till den angivna destinationsvägen.

Användarnamn

Användarnamn för att komma åt det angivna filsystemet eller SSISDB. Denna egenskap är synlig när destinationstypen är filsystem eller autentiseringstypen är SQL Server Authentication eller služba Active Directory - Password. Du kan lämna den tom när destinationstypen är filsystem, och användarkontot för att köra den självhostade agenten har fått läs-/skrivåtkomst till den angivna destinationsvägen.

Password

Lösenord för att komma åt det angivna filsystemet eller SSISDB. Denna egenskap är synlig när destinationstypen är filsystem eller autentiseringstypen är SQL Server-autentisering eller služba Active Directory – lösenord. Du kan lämna den tom när destinationstypen är filsystemet, och användarkontot för att köra den självhostade agenten har fått läs-/skrivåtkomst till den angivna destinationsvägen.

Skriv över befintliga projekt eller SSISDeploymentManifest-filer med samma namn

Ange om du ska skriva över befintliga projekt eller SSISDeploymentManifest-filer med samma namn. Om 'Nej' kommer SSIS Deploy-uppgiften att hoppa över att distribuera dessa projekt eller filer.

Fortsätt distributionen när fel uppstår

Ange om du ska fortsätta distributionen för återstående projekt eller filer när ett fel uppstår. Om 'Nej' kommer SSIS Deploy-uppgiften att avbrytas omedelbart när fel uppstår.

Begränsningar och kända problem

SSIS Deploy-uppgiften stöder för närvarande inte följande scenarier:

  • Konfigurera miljön i SSIS-katalogen.
  • Distribuering av ISPAC till Azure SQL Server eller Azure SQL Managed Instance, som endast tillåter multifaktorautentisering.
  • Distribuerar paket till MSDB eller SSIS Package Store.
  • Om du installerar SSIS DevOps Tools-tillägget i Azure DevOps Server kan du se meddelandet "Tilläggspaketstorleken överskrider den maximala paketstorleken." För att lösa problemet, gör följande steg:
    1. Koppla upp dig mot den lokala SQL Server instansen och välj databasen Gallery_Configuration.
    2. Kör frågan INSERT INTO dbo.tbl_RegistryItems VALUES (1,'#\Configuration\Service\Gallery\LargeExtensionUpload\SSIS\','MaxPackageSizeMB\',50). Byt 50 till ett högre antal om tillägget är större än 50 MB.
    3. Efter att du kört frågan, starta om Internet Information Services. Försök igen att ladda upp tillägget.
    4. Om felet kvarstår, vänligen kontakta SQL Server supportteam.

SSIS-distributionsaktivitet version 1.*

Förbättringar i version 1.*:

  • Stöd skyddsnivå Encryption WithPassword och EncryptionAllWithPassword.

Endast egenskaper för version 1.*

Projektlösenord

Lösenord för att dekryptera ISPAC- eller DTSX-filerna. Detta argument gäller endast när skyddsnivån är KrypteraKänsligMed Lösenord eller KrypteraAllaMedLösenord.

SSIS-katalogkonfigurationsuppgift

Katalogkonfigurationsuppgift

Egenskaper

Konfigurationsfilkälla

Källa till SSIS-katalogens konfigurationsfil JSON. Det kan vara "Filsökväg" eller "Inline".

Se detaljer om hur man definierar konfiguration JSON:

Sökväg till JSON-konfigurationsfil

Sökväg för SSIS-katalogens konfigurationsfil JSON. Denna egenskap är endast synlig när man väljer "Filpath" som konfigurationsfilkälla.

För att använda pipelinevariabler i konfigurations-JSON-filen behöver du lägga till en File Transform-uppgift före denna uppgift för att ersätta konfigurationsvärden med pipelinevariabler. För mer information, se JSON-variabelsubstitution.

Inline-konfiguration JSON

Inline-JSON i SSIS-katalogkonfigurationen. Denna egenskap är endast synlig när man väljer "Inline" som konfigurationsfilkälla. Pipelinevariabler kan användas direkt.

Rulla tillbaka konfigurationen när fel uppstår

Om den konfiguration som skapats av den här uppgiften ska återställas när ett fel uppstår.

Målserver

Namn på måldatabasmotor. Det kan vara namnet på en lokal SQL Server, Azure SQL Database eller Azure SQL Managed Instance.

Autentiseringstyp

Autentiseringstyp för att komma åt den angivna målservern. Generellt stöds följande autentiseringstyper:

  • Windows-autentisering
  • SQL Server-autentisering
  • služba Active Directory – lösenord
  • služba Active Directory – integrerad

Men om en specifik autentiseringstyp stöds beror på destinationsservertyp och agenttyp. Detaljstödmatris listas i tabellen nedan.

Destinationsservertyp Microsoft-hanterad agent Lokalt installerad agent
SQL Server on-premises eller VM N/A Windows-autentisering
Azure SQL SQL Server-autentisering
služba Active Directory – lösenord
SQL Server-autentisering
služba Active Directory - Lösenord
služba Active Directory – integrerad

Användarnamn

Användarnamn för att komma åt mål-SQL Server. Denna egenskap är endast synlig när autentiseringstypen är SQL Server Authentication eller služba Active Directory - Password.

Password

Lösenord för att komma åt mål-SQL Server. Denna egenskap är endast synlig när autentiseringstypen är SQL Server Authentication eller služba Active Directory - Password.

Definiera konfiguration JSON

Konfigurationsschemat JSON har tre lager:

  • catalog
  • folder
  • Projekt och miljö

Katalogkonfigurationsschema

Ett exempel på inline-konfiguration JSON

{
  "folders": [
    {
      "name": "devopsdemo",
      "description": "devops demo folder",
      "projects": [
        {
          "name": "catalog devops",
          "parameters": [
            {
              "name": "password",
              "container": "Package.dtsx",
              "value": "passwd",
              "valueType": "referenced"
            },
            {
              "name": "serverName",
              "container": "catalog devops",
              "value": "localhost",
              "valueType": "literal"
            }
          ],
          "references": [
            {
              "environmentName": "test",
              "environmentFolder": "devopsdemo"
            },
            {
              "environmentName": "test",
              "environmentFolder": "."
            }
          ]
        }
      ],
      "environments": [
        {
          "name": "test",
          "description": "test",
          "variables": [
            {
              "name": "passwd",
              "type": "string",
              "description": "",
              "value": "$(SSISDBServerAdminPassword)",
              "sensitive": true
            },
            {
              "name": "serverName",
              "type": "string",
              "description": "",
              "value": "$(TargetServerName)",
              "sensitive": false
            }
          ]
        }
      ]
    }
  ]
}

JSON-schema

Katalogegenskaper
Property Description Notes
Mappar En matris av mappobjekt. Varje objekt innehåller konfigurationsinformation för en katalogmapp. Se Mappattribut för schemat för ett mappobjekt.
Mappattribut
Property Description Notes
name Namnet på katalogmappen. Mappen kommer att skapas om den inte finns.
description Beskrivning av katalogmappen. Värdet null kommer att ignoreras.
projects En uppsättning projektobjekt. Varje objekt innehåller konfigurationsinformation för ett projekt. Se Project Attributes för schemat för ett project-objekt.
environments En matris med miljöobjekt. Varje objekt innehåller konfigurationsinformation för en miljö. Se Miljöattribut för schemat för ett miljöobjekt.
Projektattribut
Property Description Notes
name Namnet på projektet. Projektobjektet hoppas över om projektet inte finns i föräldramappen.
parameters En array med parameterobjekt. Varje objekt innehåller konfigurationsinformation för en parameter. Se Parameter Attribut : schemat för ett parameterobjekt.
references En matris med referensobjekt. Varje objekt representerar en miljöreferens till målprojektet. Se Referensattribut för schemat för ett referensobjekt.
Parameterattribut
Property Description Notes
name Namn på parameter.
  • Parametern kan vara en projektparameter eller en paketparameter.
  • Parametern utelämnas om den inte finns.
  • Om parametern är en egenskap för en anslutningshanterare bör namnet ha formatet CM.<Namn på anslutningshanterare>.<Egenskapsnamn>.
  • container Behållare för parametern.
  • Om parametern är en projektparameter bör containern vara projektnamnet.
  • Om det är en paketparameter bör containern vara paketnamnet med .dtsx-tillägget .
  • value Värdet på parametern.
  • När valueType är refererad: Värdet är en referens till en miljövariabel av typen sträng.
  • När valueType är literal: Det här attributet har stöd för alla giltiga booleska, numeriska och sträng-JSON-värden.
  • Värdet kommer att konverteras till målparametertypen. Fel uppstår om den inte kan konverteras.
  • Värdet av null är ogiltigt. Uppgiften hoppar över detta parameterobjekt och ger en varning.
  • valueType Typ av parametervärde. Giltiga typer är:
    literal: Värdeattributet representerar ett literalt värde.
    refererad: Värdeattributet representerar en referens till en miljövariabel.
    Referensattribut
    Property Description Notes
    environmentFolder Miljöns mappnamn. Mappen kommer att skapas om den inte finns.
    Värdet kan vara ".", vilket representerar projektets föräldramapp och refererar till miljön.
    environmentName Namnet på den refererade miljön. Den angivna miljön kommer att skapas om den inte finns.
    Miljöattribut
    Property Description Notes
    name Namnet på miljön. Miljön skapas om den inte redan finns.
    description Beskrivning av miljön. Värdet null kommer att ignoreras.
    variables En matris med variabelobjekt. Varje objekt innehåller konfigurationsinformation för en miljövariabel. Se Variabelattribut för schemat för ett variabelobjekt.
    Attribut för variabler
    Property Description Notes
    name Namnet på miljövariabeln. Miljövariabeln kommer att skapas om den inte finns.
    type Datatyp för miljövariabeln. Giltiga typer är:
    boolean
    byte
    datetime
    Decimal
    dubbel
    int16
    int32
    int64
    sbyte
    Singel
    string
    uint32
    uint64
    description Beskrivning av miljövariabeln. Värdet null kommer att ignoreras.
    value Värdet för miljövariabeln. Denna attribut stöder alla giltiga booleska, tal- och sträng-JSON-värden.
    Värdet kommer att konverteras till den typ som anges av typattributet . Fel uppstår om konverteringen misslyckas.
    Värdet av null är ogiltigt. Uppgiften hoppar över detta miljövariabelobjekt och ger en varning.
    känslig Om värdet av miljövariabeln är känsligt. Giltiga indata är:
    sann
    falsk

    Versionsinformation

    Version 1.0.6

    Utgivningsdatum: 1 september 2021

    • Utgåva för allmän tillgänglighet (GA).

    Version 1.0.5

    Utgivningsdatum: 2 juni 2021

    • Åtgärdade ett problem där SSIS Build Task i version 1.* ibland misslyckades med att skapa projekt/paket med skyddsnivån EncryptSensitiveWithPassword eller EncryptAllWithPassword med felmeddelandet "Den angivna initieringsvektorn (IV) matchar inte blockstorleken för den här algoritmen."
    • Tog bort JSON-innehållet i loggen för SSIS Catalog Configuration Task när "Configuration file source" är "File Path".

    Version 1.0.4

    Releasedatum: 21 april 2021

    • SSIS Build-uppgift version 1.* (Förhandsvisning)
      • Ta bort beroendet av Visual Studio och SSIS-designern. Bygguppgiften kan köras på en Microsoft-hostad agent eller en självhostad agent med Windows OS och .NET-ramverket 4.6.2 eller högre.
      • Ingen anledning att installera färdiga komponenter.
      • Stöd skyddsnivå Encryption WithPassword och EncryptionAllWithPassword.
    • SSIS-distributionsuppgift version 1.* (Förhandsgranskning)
      • Stöd skyddsnivå Encryption WithPassword och EncryptionAllWithPassword.

    Version 1.0.3

    Utgivningsdatum: 21 oktober 2020

    • Tillåt att specificera reťazec pripojenia-suffixet för SSIS Deploy-uppgiften och SSIS Catalog Configuration-uppgiften.

    Version 1.0.2

    Utgivningsdatum: 26 maj 2020

    • Åtgärdade ett problem där SSIS Catalog Configuration Task kan misslyckas i vissa fall efter att konfigurationsarbetet är klart.

    Version 1.0.1

    Utgivningsdatum: 9 maj 2020

    • Fixade ett problem där SSIS Build-uppgiften alltid bygger hela lösningen även om endast en dtproj-fil anges som projektväg.

    Version 1.0.0

    Releasedatum: 8 maj 2020

    • Version för allmän tillgänglighet (GA).
    • Lade till en begränsning på minsta .NET-ramverksversion på agenten. För närvarande är minsta .NET-ramverksversion 4.6.2.
    • Förfinad beskrivning av SSIS Build-uppgiften och SSIS Deploy-uppgiften.

    Version 0.2.0 Förhandsgranskning

    Releasedatum: 31 mars 2020

    • Lägg till SSIS katalogkonfigurationsuppgift.

    Förhandsversion 0.1.3

    Releasedatum: 19 januari 2020

    • Fixade ett problem som hindrade ispac från att distribueras om dess ursprungliga filnamn ändrades.

    Förhandsversion 0.1.2

    Releasedatum: 13 januari 2020

    • Lägger till mer detaljerad undantagsinformation i SSIS Deploy-uppgiftsloggen när destinationstypen är SSISDB.
    • Åtgärdade exempeldestinationsvägen i hjälptexten för egenskapen Destinationsväg för SSIS Deploy-uppgiften.

    Förhandsversion 0.1.1

    Releasedatum: 6 januari 2020

    • Lagt till en begränsning med minimikrav på agentversion. För närvarande är den minimala agentversionen av denna produkt 2.144.0.
    • Fixade felaktig visningstext för SSIS Deploy-uppgiften.
    • Förbättrat några felmeddelanden.

    Förhandsversion 0.1.0

    Premiärdatum: 5 december 2019

    Första lanseringen av SSIS DevOps Tools. Detta är en förhandsvisning.