Condividi tramite


Estensione di Azure DevOps per DevOps Tools di SQL Server Integration Services (SSIS)

L'estensione SSIS DevOps Tools è disponibile in Azure DevOps Marketplace. SSIS DevOps supporta azure DevOps Services, azure DevOps Server 2019 e versioni successive.

Se non si ha un'organizzazione Azure DevOps, iscriversi prima di tutto ad Azure Pipelines, quindi aggiungere l'estensione SSIS DevOps Tools seguendo i passaggi.

SSIS DevOps Tools includono l'attività di compilazione SSIS, l'attività di distribuzione della versione SSIS e l'attività di configurazione del catalogo SSIS.

  • L'attività di compilazione SSIS supporta la compilazione di file dtproj nel modello di distribuzione del progetto o nel modello di distribuzione del pacchetto.

  • 'attività SSIS Deploy supporta la distribuzione di file ispac singoli o multipli nel catalogo SSIS locale e Azure-SSIS IR o SSISDeploymentManifest e i file associati in una condivisione file locale o di Azure.

  • Configurazione del catalogo SSIS l'attività supporta la configurazione di cartelle/progetti/ambienti del catalogo SSIS con un file di configurazione in formato JSON. Questa attività supporta gli scenari seguenti:

    • Cartella
      • Crea cartella.
      • Aggiornare la descrizione della cartella.
    • Progetto
      • Configurare il valore dei parametri, sono supportati sia il valore letterale che il valore a cui si fa riferimento.
      • Aggiungere riferimenti all'ambiente.
    • Ambiente
      • Creare l'ambiente.
      • Aggiornare la descrizione dell'ambiente.
      • Creare o aggiornare la variabile di ambiente.

Attività di compilazione SSIS

attività di compilazione

Proprietà

Percorso progetto

Percorso della cartella o del file del progetto da compilare. Se viene specificato un percorso di cartella, l'attività compilazione SSIS cercherà tutti i file dtproj in modo ricorsivo in questa cartella e li compilerà tutti.

Il percorso del progetto non può essere vuoto, impostato come . compilare dalla cartella radice del repository.

Configurazione del progetto

Nome della configurazione del progetto da usare per la compilazione. Se non viene specificato, per impostazione predefinita si utilizza la prima configurazione del progetto definita in ogni file dtproj.

Percorso di output

Percorso di una cartella separata per salvare i risultati della compilazione, che possono essere pubblicati come artefatti di build tramite il task pubblica artefatti di build.

Limitazioni e problemi noti

  • L'attività di compilazione SSIS si basa su Visual Studio e sul designer SSIS, che sono obbligatori per gli agenti di compilazione. Per eseguire quindi l'attività di compilazione SSIS nella pipeline:

    • per gli agenti ospitati da Microsoft, è necessario scegliere un'immagine disponibile che include Visual Studio e l'estensione SQL Server Integration Services, ad esempio windows-2022. Per dettagli, fare riferimento alla documentazione sugli agenti ospitati da Microsoft per i programmi inclusi nelle immagini disponibili.
    • per gli agenti self-hosted, installare Visual Studio e la finestra di progettazione SSIS (estensione VS2022 + progetti SSIS o VS2019 + estensione progetti SSIS) sugli agenti self-hosted.
  • Per compilare progetti SSIS usando tutti i componenti integrati (incluso il Feature Pack di Azure SSIS e altri componenti di terze parti), questi componenti integrati devono essere installati sul computer in cui l'agente della pipeline è in esecuzione. Per l'agente ospitato da Microsoft, l'utente può aggiungere un'attività di script PowerShell o un'attività di script della riga di comando per scaricare e installare i componenti prima dell'esecuzione dell'attività di compilazione SSIS. Di seguito è riportato lo script di PowerShell di esempio per installare il Feature Pack di Azure:

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
  • Il livello di protezione EncryptSensitiveWithPassword e EncryptAllWithPassword non sono supportati nell'attività di compilazione SSIS. Assicurarsi che tutti i progetti SSIS nella codebase non utilizzino questi due livelli di protezione, altrimenti porterà l'attività di compilazione SSIS a non rispondere e ad andare in timeout durante l'esecuzione.

Attività di compilazione SSIS versione 1.*

Miglioramenti nella versione 1.*:

  • Rimuovere la dipendenza da Visual Studio e dal designer SSIS. L'attività di compilazione può essere eseguita in un agente ospitato da Microsoft o in un agente self-hosted con sistema operativo Windows e .NET Framework 4.6.2 o versione successiva.

  • Non è necessario installare componenti immediatamente utilizzabili.

  • Supporto del livello di protezione EncryptionWithPassword e EncryptionAllWithPassword.

Limitazioni e problemi noti

  • L'attività di compilazione SSIS versione 1.* non supporta la compilazione del progetto SSIS contenente il pacchetto SSIS con firma digitale.

Proprietà solo della versione 1.*

La password del progetto

Password del progetto SSIS e dei relativi pacchetti. Questo argomento è valido solo quando il livello di protezione del progetto SSIS e dei pacchetti è EncryptSensitiveWithPassword o EncryptAllWithPassword. Per il modello di distribuzione del pacchetto, tutti i pacchetti devono condividere la stessa password specificata da questo argomento.

Rimuovi Dati Sensibili

Convertire il livello di protezione del progetto SSIS in DontSaveSensitive se il valore è vero. Quando il livello di protezione è EncryptSensitiveWithPassword o EncryptAllWithPassword, l'argomento Project Password deve essere impostato correttamente. Questa opzione è valida solo per il modello di distribuzione del progetto.

Attività di distribuzione SSIS

attività di distribuzione

Proprietà

Percorso di origine

Percorso dei file ISPAC o SSISDeploymentManifest di origine da distribuire. Questo percorso può essere un percorso di cartella o un percorso di file.

Tipo di destinazione

Tipo della destinazione. Attualmente l'attività di distribuzione di SSIS supporta due tipi:

  • file system: distribuire i file SSISDeploymentManifest e i file associati in un file system specificato. Sono supportati sia l'ambiente locale che la condivisione file di Azure.
  • SSISDB: distribuire file ISPAC in un catalogo SSIS specificato, che può essere ospitato in SQL Server locale o Azure-SSIS Integration Runtime.

Server di destinazione

Nome del motore di database di destinazione. Può essere il nome di un'istanza di SQL Server in locale, di un database SQL di Azure o di un'istanza gestita di SQL di Azure. Questa proprietà è visibile solo quando il tipo di destinazione è SSISDB.

Percorso di destinazione

Percorso della cartella di destinazione in cui verrà distribuito il file di origine. Per esempio:

  • /SSISDB/<folderName>
  • \\<machineName>\<shareFolderName>\<optionalSubfolderName>

L'attività di distribuzione SSIS creerà la cartella e la sottocartella se queste non esistono.

Tipo di autenticazione

Tipo di autenticazione per accedere al server di destinazione specificato. Questa proprietà è visibile solo quando il tipo di destinazione è SSISDB. In generale, sono supportati i tipi di autenticazione seguenti:

  • Autenticazione di Windows
  • Autenticazione di SQL Server
  • Active Directory - Password
  • Active Directory - Integrato

Tuttavia, se un tipo di autenticazione specifico è supportato dipende dal tipo di server di destinazione e dal tipo di agente. La matrice di supporto dettagliata è riportata nella tabella qui sotto.

Tipo di server di destinazione Agente ospitato da Microsoft Agente ospitato autonomamente
SQL Server locale o macchina virtuale N/D Autenticazione di Windows
Azure SQL Autenticazione di SQL Server
Active Directory - Password (Password di Active Directory)
Autenticazione di SQL Server
Active Directory - Password
Active Directory - Integrato

Nome di dominio

Nome di dominio per accedere al file system specificato. Questa proprietà è visibile solo quando Il tipo di destinazione è File System. È possibile lasciarlo vuoto se all'account utente che esegue l'agente self-hosted è stato concesso l'accesso in lettura/scrittura al percorso di destinazione specificato.

Nome utente

Nome utente per accedere al file system o SSISDB specificato. Questa proprietà è visibile quando il tipo di destinazione è File System o Il tipo di autenticazione è Autenticazione di SQL Server o Active Directory - Password. È possibile lasciarlo vuoto quando il tipo di destinazione è il file system e all'account utente per eseguire l'agente self-hosted è stato concesso l'accesso in lettura/scrittura al percorso di destinazione specificato.

Parola d’ordine

Password per accedere al file system o SSISDB specificato. Questa proprietà è visibile quando il tipo di destinazione è file system o il tipo di autenticazione è autenticazione di SQL Server o Active Directory - password. È possibile lasciarlo vuoto quando il tipo di destinazione è il file system e all'account utente per eseguire l'agente self-hosted è stato concesso l'accesso in lettura/scrittura al percorso di destinazione specificato.

Sovrascrivere i progetti esistenti o i file SSISDeploymentManifest con gli stessi nomi

Specificare se sovrascrivere i progetti esistenti o i file SSISDeploymentManifest con gli stessi nomi. Se è 'No', l'attività di distribuzione SSIS ignorerà la distribuzione di tali progetti o file.

Continua la distribuzione quando si verifica un errore

Specificare se continuare la distribuzione per i progetti o i file rimanenti quando si verifica un errore. Se 'No', l'attività di distribuzione SSIS verrà interrotta immediatamente quando si verifica un errore.

Limitazioni e problemi noti

L'attività di distribuzione SSIS attualmente non supporta i seguenti casi:

  • Configurazione dell'ambiente nel catalogo SSIS.
  • Distribuzione di ISPAC in Sql Server di Azure o in Istanza gestita di SQL di Azure, che consentono solo l'autenticazione a più fattori.
  • Distribuzione di pacchetti nell'archivio pacchetti MSDB o SSIS.
  • Se si installa l'estensione SSIS DevOps Tools in Azure DevOps Server, è possibile che venga visualizzato il messaggio "La dimensione del pacchetto di estensione supera le dimensioni massime del pacchetto". Per risolvere il problema, completare la procedura seguente:
    1. Connettersi all'istanza di SQL Server locale e selezionare il database Gallery_Configuration.
    2. Esegui la query INSERT INTO dbo.tbl_RegistryItems VALUES (1,'#\Configuration\Service\Gallery\LargeExtensionUpload\SSIS\','MaxPackageSizeMB\',50). Impostare 50 su un numero superiore se l'estensione è maggiore di 50 MB.
    3. Dopo aver eseguito la query, riavviare Internet Information Services. Riprovare a caricare l'estensione.
    4. Se l'errore persiste, contattare il team di supporto di SQL Server.

SSIS Deploy attività versione 1.*

Miglioramenti nella versione 1.*:

  • Supporto del livello di protezione EncryptionWithPassword e EncryptionAllWithPassword.

Proprietà solo per la versione 1.*

Password del progetto

Password per decrittografare i file ISPAC o DTSX. Questo argomento è valido solo quando il livello di protezione è EncryptSensitiveWithPassword o EncryptAllWithPassword.

Attività di configurazione del catalogo SSIS

attività di configurazione del catalogo

Proprietà

Origine file di configurazione

Origine del file JSON di configurazione del catalogo SSIS. Può essere "Percorso file" o "Inline".

Per informazioni dettagliate su come definire il JSON di configurazione, vedere .

  • Fare riferimento a un esempio di configurazione JSON inline .
  • Controlla schema JSON.

Percorso del file JSON di configurazione

Percorso del file JSON di configurazione del catalogo SSIS. Questa proprietà è visibile solo quando si seleziona "Percorso file" come origine file di configurazione.

Per usare variabili della pipeline nel file JSON di configurazione, è necessario aggiungere un'attività Trasformazione file prima di questa attività per sostituire i valori di configurazione con le variabili della pipeline. Per altre informazioni, vedere sostituzione di variabili JSON.

Configurazione JSON inline

JSON inline della configurazione del catalogo SSIS. Questa proprietà è visibile solo quando si seleziona "Inline" come origine file di configurazione. Le variabili della pipeline possono essere usate direttamente.

Eseguire il rollback della configurazione quando si verifica un errore

Indicare se effettuare il rollback della configurazione eseguita da questa attività quando si verifica un errore.

Server di destinazione

Nome del motore di database di destinazione. Può essere il nome di un'istanza di SQL Server locale, del database SQL di Azure o di un'istanza gestita di SQL di Azure.

Tipo di autenticazione

Tipo di autenticazione per accedere al server di destinazione specificato. In generale, sono supportati i tipi di autenticazione seguenti:

  • Autenticazione di Windows
  • Autenticazione di SQL Server
  • Active Directory - Password
  • Active Directory - Integrato

Tuttavia, se un tipo di autenticazione specifico è supportato dipende dal tipo di server di destinazione e dal tipo di agente. La matrice dei dettagli di supporto è elencata nella tabella seguente.

Tipo di server di destinazione Agente ospitato da Microsoft Agente ospitato autonomamente
SQL Server locale o macchina virtuale N/D Autenticazione di Windows
Azure SQL Autenticazione di SQL Server
Active Directory - Password
Autenticazione di SQL Server
Active Directory - Password
Active Directory - Integrato

Nome utente

Nome utente per accedere a SQL Server di destinazione. Questa proprietà è visibile solo quando il tipo di autenticazione è Autenticazione di SQL Server o Active Directory - Password.

Parola d’ordine

Password per accedere a SQL Server di destinazione. Questa proprietà è visibile solo quando il tipo di autenticazione è Autenticazione di SQL Server o Active Directory - Password.

Definire il codice JSON di configurazione

Lo schema JSON di configurazione ha tre livelli:

  • catalogo
  • cartella
  • progetto e ambiente

schema di configurazione del catalogo

Esempio di configurazione JSON in linea

{
  "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
            }
          ]
        }
      ]
    }
  ]
}

Schema JSON

Attributi del catalogo
Proprietà Descrizione Note
Cartelle Array di oggetti di cartella. Ogni oggetto contiene informazioni di configurazione per una cartella del catalogo. Per lo schema di un oggetto cartella, vedere Attributi cartella .
Attributi cartella
Proprietà Descrizione Note
nome Nome della cartella del catalogo. La cartella verrà creata se non esiste.
descrizione Descrizione della cartella del catalogo. Il valore di Null verrà ignorato.
Progetti Matrice di oggetti di progetto. Ogni oggetto contiene informazioni di configurazione per un progetto. Vedi Attributi del Progetto per lo schema di un oggetto progetto.
Ambienti Una serie di oggetti dell'ambiente. Ogni oggetto contiene informazioni di configurazione per un ambiente. Vedere Attributi dell'Ambiente per lo schema di un oggetto ambiente.
Attributi del progetto
Proprietà Descrizione Note
nome Nome del progetto. L'oggetto Project verrà ignorato se il progetto non esiste nella cartella padre.
Parametri Matrice di oggetti parametro. Ogni oggetto contiene informazioni di configurazione per un parametro. Vedere Attributi dei parametri lo schema di un oggetto parametro.
referenze Una matrice di oggetti di riferimento. Ogni oggetto rappresenta un riferimento di ambiente al progetto di destinazione. Vedere Attributi di riferimento per lo schema di un oggetto di riferimento.
Attributi dei parametri
Proprietà Descrizione Note
nome Nome del parametro.
  • Il parametro può essere un parametro di progetto o un parametro del pacchetto.
  • Il parametro viene ignorato se non esiste.
  • Se il parametro è una proprietà del gestore connessione, il nome deve essere nel formato CM.<Nome gestore connessione>.<Nome proprietà>.
  • contenitore Contenitore del parametro .
  • Se il parametro è un parametro di progetto, il contenitore deve essere il nome del progetto.
  • Se si tratta di un parametro del pacchetto, il contenitore deve essere il nome del pacchetto con l'estensione .dtsx.
  • valore Valore del parametro.
  • Quando valueType è referenziato: il valore è un riferimento a una variabile di ambiente di tipo stringa.
  • Quando valueType è letterale: questo attributo supporta qualsiasi valore booleano valido, numeroe stringa valori JSON.
  • Il valore verrà convertito nel tipo di parametro di destinazione. Se non è possibile convertirlo, si verificherà un errore.
  • Il valore null non è valido. L'attività ignora questo oggetto parametro e genera un avviso.
  • tipo di valore Tipo del valore del parametro. I tipi validi sono:
    valore letterale: l'attributo valore rappresenta un valore letterale.
    a cui viene fatto riferimento: il valore attributo rappresenta un riferimento a una variabile di ambiente.
    Attributi di riferimento
    Proprietà Descrizione Note
    environmentFolder Nome della cartella dell'ambiente. La cartella verrà creata se non esiste.
    Il valore può essere ".", che rappresenta la cartella padre del progetto, che fa riferimento all'ambiente.
    environmentName Nome dell'ambiente a cui si fa riferimento. Se non esiste, verrà creato l'ambiente specificato.
    Attributi dell'ambiente
    Proprietà Descrizione Note
    nome Nome dell'ambiente. L'ambiente verrà creato se non esiste già.
    descrizione Descrizione dell'ambiente. Il valore null verrà ignorato.
    Variabili Matrice di oggetti variabile. Ogni oggetto contiene informazioni di configurazione per una variabile di ambiente. Vedere attributi delle variabili per lo schema di un oggetto variabile.
    Attributi delle variabili
    Proprietà Descrizione Note
    nome Nome della variabile di ambiente. La variabile di ambiente verrà creata se non esiste.
    digitare Tipo di dati della variabile di ambiente. I tipi validi sono:
    booleano
    byte
    data e ora
    decimale
    doppio
    int16
    int32
    int64
    sbyte
    singolo
    stringa
    uint32
    uint64
    descrizione Descrizione della variabile di ambiente. Il valore di null verrà ignorato.
    valore Valore della variabile di ambiente. Questo attributo supporta tutti i valori JSON booleani, numerici e stringa validi.
    Il valore verrà convertito nel tipo specificato dall'attributo di tipo . Se la conversione non riesce, si verificherà un errore.
    Il valore di Null non è valido. L'attività salterà questo oggetto variabile di ambiente ed emetterà un avviso.
    sensibile Indica se il valore della variabile di ambiente è sensibile. Gli input validi sono:
    vero
    false

    Note sulla versione

    Versione 1.0.6

    Data di rilascio: 1° settembre 2021

    • Versione disponibile a livello generale.

    Versione 1.0.5

    Data di rilascio: 2 giugno 2021

    • È stato risolto un problema per cui talvolta l'attività di build SSIS versione 1.* falliva nel creare progetti/pacchetti con livello di protezione EncryptSensitiveWithPassword o EncryptAllWithPassword, generando l'errore "Il vettore di inizializzazione specificato (IV) non corrisponde alle dimensioni del blocco per questo algoritmo."
    • Rimosso il contenuto JSON dal log dell'attività di configurazione del catalogo SSIS quando "Origine file di configurazione" è "Percorso file".

    Versione 1.0.4

    Data di rilascio: 21 aprile 2021

    • Operazione di compilazione SSIS versione 1.* (Anteprima)
      • Rimuovere la dipendenza da Visual Studio e dal designer di SSIS. L'attività di compilazione può essere eseguita in un agente ospitato da Microsoft o in un agente self-hosted con sistema operativo Windows e .NET Framework 4.6.2 o versione successiva.
      • Non è necessario installare componenti di serie.
      • Supporto del livello di protezione EncryptionWithPassword e EncryptionAllWithPassword.
    • SSIS Attività di distribuzione versione 1.* (Preview)
      • Supporto del livello di protezione EncryptionWithPassword e EncryptionAllWithPassword.

    Versione 1.0.3

    Data di rilascio: 21 ottobre 2020

    • Consentire di specificare il suffisso della stringa di connessione per l'attività di Distribuzione SSIS e l'attività di Configurazione del catalogo SSIS.

    Versione 1.0.2

    Data di rilascio: 26 maggio 2020

    • È stato risolto un problema per cui l'attività di configurazione del catalogo SSIS potrebbe non riuscire in alcuni casi al termine del lavoro di configurazione.

    Versione 1.0.1

    Data di rilascio: 9 maggio 2020

    • È stato risolto un problema per cui l'attività di compilazione SSIS compilava sempre l'intera soluzione anche se come percorso del progetto è specificato un solo file dtproj.

    Versione 1.0.0

    Data di rilascio: 8 maggio 2020

    • Rilascio disponibilità generale (GA).
    • Aggiunta una restrizione alla versione minima del .NET Framework per l'agente. Attualmente la versione minima di .NET Framework è 4.6.2.
    • Descrizione perfezionata dell'attività di compilazione SSIS e dell'attività di distribuzione SSIS.

    Versione 0.2.0 Preview

    Data di rilascio: 31 marzo 2020

    • Aggiungere l'attività di configurazione del catalogo SSIS.

    Versione 0.1.3 Preview

    Data di rilascio: 19 gennaio 2020

    • È stato risolto un problema che impediva la distribuzione di ispac se il nome del file originale è stato modificato.

    Versione 0.1.2 Preview

    Data di rilascio: 13 gennaio 2020

    • Sono state aggiunte informazioni più dettagliate sulle eccezioni nel log attività di distribuzione SSIS quando il tipo di destinazione è SSISDB.
    • Corretto il testo di aiuto relativo al percorso di destinazione di esempio nella proprietà 'Percorso destinazione' dell'attività di distribuzione SSIS.

    Versione 0.1.1 Anteprima

    Data di rilascio: 6 gennaio 2020

    • Aggiunta di una restrizione del requisito di versione minima dell'agente. Attualmente la versione minima dell'agente di questo prodotto è 2.144.0.
    • Correzione di un testo di visualizzazione non corretto per l'attività Di distribuzione SSIS.
    • Sono stati perfezionati alcuni messaggi di errore.

    Versione 0.1.0 Preview

    Data di rilascio: 5 dicembre 2019

    Versione iniziale di SSIS DevOps Tools. Questa è una versione di anteprima.

    Passaggi successivi