Sql Server Integration Services (SSIS) DevOps Tools Azure DevOps-extensie
SSIS DevOps Tools-extensie is beschikbaar in Azure DevOps Marketplace. SSIS DevOps ondersteunt Azure DevOps Services, Azure DevOps Server 2019 en hoger.
Als u geen Azure DevOps-organisatie hebt, moet u zich eerst registreren voor Azure Pipelinesen vervolgens de SSIS DevOps Tools-extensie toevoegen volgens de stappen.
SSIS DevOps Tools bevat SSIS Build taak, SSIS Deploy release-taak en SSIS Catalog Configuration-taak.
SSIS Build taak ondersteunt het bouwen van dtproj-bestanden in projectimplementatiemodel of pakketimplementatiemodel.
SSIS Deploy-taak ondersteunt het implementeren van één of meerdere ispac-bestanden naar de on-premises SSIS-catalogus en Azure-SSIS IR- of SSISDeploymentManifest-bestanden en de bijbehorende bestanden naar een on-premises of Azure-bestandsshare.
SSIS Catalog Configuration taak ondersteunt het configureren van map/project/omgeving van SSIS Catalog met een configuratiebestand in JSON-indeling. Deze taak ondersteunt de volgende scenario's:
- Map
- Map maken.
- Beschrijving van de map bijwerken.
- Project
- De waarde van parameters configureren, zowel de letterlijke waarde als de waarde waarnaar wordt verwezen, worden ondersteund.
- Voeg omgevingsverwijzingen toe.
- Milieu
- Maak een omgeving.
- Beschrijving van de omgeving bijwerken.
- Omgevingsvariabele maken of bijwerken.
- Map
SSIS Build-taak
Eigenschappen
Projectpad
Pad van de projectmap of het bestand dat moet worden gebouwd. Als er een mappad is opgegeven, doorzoekt de SSIS Build-taak alle dtproj-bestanden recursief in deze map en bouwt ze allemaal.
Het projectpad kan niet leeg zijn , het is ingesteld als . Zet om te bouwen vanuit de hoofdmap van de opslagplaats.
Projectconfiguratie
De naam van de projectconfiguratie die moet worden gebruikt voor de build. Als dit niet is opgegeven, wordt standaard de eerste gedefinieerde projectconfiguratie in elk dtproj-bestand gebruikt.
Uitvoerpad
Pad van een afzonderlijke map om buildresultaten op te slaan, die als buildartefact kunnen worden gepubliceerd via buildartefactentaakpubliceren.
Beperkingen en bekende problemen
De SSIS Build-taak is afhankelijk van Visual Studio en SSIS Designer. Dit is verplicht voor buildagents. Als u de SSIS Build-taak dus wilt uitvoeren in de pijplijn:
- voor door Microsoft gehoste agents moet u een beschikbare installatiekopie kiezen die visual Studio en de SQL Server Integration Services-extensie bevat, bijvoorbeeld windows-2022. Details verwijzen naar door Microsoft gehoste agents documentatie voor software die is opgenomen in de beschikbare installatiekopieën.
- voor zelf-hostende agents installeert u Visual Studio en SSIS Designer (VS2022 + SSIS Projects-extensie of VS2019 + SSIS Projects-extensie) op zelf-hostende agents.
Als u SSIS-projecten wilt bouwen met kant-en-klare onderdelen (inclusief SSIS Azure-onderdelenpakket en andere onderdelen van derden), moeten deze kant-en-klare onderdelen worden geïnstalleerd op de computer waarop de pijplijnagent wordt uitgevoerd. Voor door Microsoft gehoste agent kan de gebruiker een PowerShell-scripttaak toevoegen of opdrachtregelscripttaak om de onderdelen te downloaden en te installeren voordat de SSIS Build-taak wordt uitgevoerd. Hieronder ziet u het PowerShell-voorbeeldscript voor het installeren van 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
- Beveiligingsniveau EncryptSensitiveWithPassword en EncryptAllWithPassword- worden niet ondersteund in de SSIS Build-taak. Zorg ervoor dat alle SSIS-projecten in codebase deze twee beveiligingsniveaus niet gebruiken, anders reageert de SSIS Build-taak niet meer en treedt er een time-out op tijdens de uitvoering.
SSIS Build-taak versie 1.*
Verbeteringen in versie 1.*:
Verwijder de afhankelijkheid van Visual Studio en SSIS Designer. Build-taak kan worden uitgevoerd op door Microsoft gehoste agent of zelf-hostende agent met Windows OS en .NET Framework 4.6.2 of hoger.
U hoeft geen out-of-box-onderdelen te installeren.
Ondersteuning voor beveiligingsniveau EncryptionWithPassword en EncryptionAllWithPassword.
Beperkingen en bekende problemen
- SSIS Build-taakversie 1.* biedt geen ondersteuning voor het bouwen van het SSIS-project met SSIS-pakket met digitale handtekening.
Alleen eigenschappen van versie 1.*
Projectwachtwoord
Wachtwoord van het SSIS-project en de bijbehorende pakketten. Dit argument is alleen geldig wanneer het beveiligingsniveau van het SSIS-project en de pakketten EncryptSensitiveWithPassword of EncryptAllWithPassword is. Voor het pakketimplementatiemodel moeten alle pakketten hetzelfde wachtwoord delen dat door dit argument is opgegeven.
Gevoelige gegevens verwijderen
Converteer het beveiligingsniveau van het SSIS-project naar DontSaveSensitive als deze waarde waar is. Wanneer het beveiligingsniveau EncryptSensitiveWithPassword of EncryptAllWithPassword is, moet het argument Projectwachtwoord correct zijn ingesteld. Deze optie is alleen geldig voor het projectimplementatiemodel.
SSIS-implementatietaak
Eigenschappen
Bronpad
De pad van de bron van ISPAC- of SSISDeploymentManifest-bestanden die u wilt implementeren. Dit pad kan een mappad of een bestandspad zijn.
Doeltype
Type van het doel. Momenteel ondersteunt SSIS Deploy-taak twee typen:
- Bestandssysteem: SSISDeploymentManifest-bestanden en de bijbehorende bestanden implementeren in een opgegeven bestandssysteem. Zowel on-premises als Azure-bestandsshare worden ondersteund.
- SSISDB-: ISPAC-bestanden implementeren in een opgegeven SSIS-catalogus, die kan worden gehost op on-premises SQL Server of Azure-SSIS Integration Runtime.
Doelserver
Naam van doeldatabase-engine. Dit kan de naam zijn van een on-premises SQL Server, Azure SQL Database of Azure SQL Managed Instance. Deze eigenschap is alleen zichtbaar wanneer het doeltype SSISDB is.
Bestemmingspad
Pad naar de doelmap waarin het bronbestand wordt geïmplementeerd. Bijvoorbeeld:
- /SSISDB/<folderName>
- \\<machineNaam>\<gedeeldeMapNaam>\<optioneleSubmapNaam>
De SSIS Deploy-taak zal de map en de submap maken als ze niet bestaan.
Verificatietype
Verificatietype voor toegang tot de opgegeven doelserver. Deze eigenschap is alleen zichtbaar wanneer het doeltype SSISDB is. In het algemeen worden de onderstaande verificatietypen ondersteund:
- Windows-verificatie
- SQL Server-verificatie
- Active Directory - Wachtwoord
- Active Directory - Geïntegreerd
Maar of een specifiek verificatietype wordt ondersteund, is afhankelijk van het type doelserver en het agenttype. Gedetailleerde ondersteuningsmatrix wordt vermeld in de onderstaande tabel.
Type doelserver | Door Microsoft gehoste agent | Zelf-hostende agent |
---|---|---|
SQL Server lokaal of VM | N.V.T | Windows-verificatie |
Azure SQL | SQL Server-verificatie Active Directory - Wachtwoord |
SQL Server-verificatie Active Directory - Wachtwoord Active Directory - Geïntegreerd |
Domeinnaam
Domeinnaam voor toegang tot het opgegeven bestandssysteem. Deze eigenschap is alleen zichtbaar wanneer het doeltype Bestandssysteem is. U kunt deze leeg laten wanneer het gebruikersaccount voor het uitvoeren van de zelf-hostende agent lees-/schrijftoegang heeft gekregen tot het opgegeven doelpad.
Gebruikersnaam
Gebruikersnaam voor toegang tot het opgegeven bestandssysteem of SSISDB. Deze eigenschap is zichtbaar wanneer het doeltype bestandssysteem is of het verificatietype SQL Server-verificatie of Active Directory - wachtwoord is. U kunt het leeg laten wanneer het doeltype bestandssysteem is en het gebruikersaccount dat de zelf-hostende agent moet uitvoeren, lees-/schrijftoegang heeft gekregen tot het opgegeven doelpad.
Wachtwoord
Wachtwoord voor toegang tot het opgegeven bestandssysteem of SSISDB. Deze eigenschap is zichtbaar wanneer het doeltype bestandssysteem is of het verificatietype SQL Server-verificatie of Active Directory - wachtwoord is. U kunt het leeg laten wanneer het doeltype bestandssysteem is en het gebruikersaccount dat de zelf-hostende agent uitvoert, lees-/schrijftoegang heeft tot het opgegeven doelpad.
Bestaande projecten of SSISDeploymentManifest-bestanden met dezelfde namen overschrijven
Geef op of de bestaande projecten of SSISDeploymentManifest-bestanden met dezelfde namen moeten worden overschreven. Als nee, slaat de SSIS Deploy-taak de implementatie van deze projecten of bestanden over.
Implementatie voortzetten wanneer er een fout optreedt
Geef op of de implementatie moet worden voortgezet voor resterende projecten of bestanden wanneer er een fout optreedt. Als 'Nee' wordt de SSIS Deploy-taak onmiddellijk gestopt wanneer er een fout optreedt.
Beperkingen en bekende problemen
SSIS Deploy-taak biedt momenteel geen ondersteuning voor de volgende scenario's:
- De omgeving configureren in de SSIS-catalogus.
- Ispac implementeren in Azure SQL Server of Azure SQL Managed Instance, waardoor alleen meervoudige verificatie is toegestaan.
- Pakketten implementeren in MSDB of SSIS Package Store.
- Als u de SSIS DevOps Tools-extensie installeert in Azure DevOps Server, ziet u mogelijk het bericht 'De grootte van het extensiepakket overschrijdt de maximale pakketgrootte'. Voer de volgende stappen uit om het probleem op te lossen:
- Maak verbinding met het on-premises SQL Server-exemplaar en selecteer de database Gallery_Configuration.
- Voer de query uit
INSERT INTO dbo.tbl_RegistryItems VALUES (1,'#\Configuration\Service\Gallery\LargeExtensionUpload\SSIS\','MaxPackageSizeMB\',50)
. Wijzig50
in een hoger getal als de extensie groter is dan 50 MB. - Nadat u de query hebt uitgevoerd, start u Internet Information Services opnieuw. Probeer de extensie opnieuw te uploaden.
- Als de fout zich blijft voordoen, neemt u contact op met het ondersteuningsteam van SQL Server.
SSIS-taakversie 1 implementeren.*
Verbeteringen in versie 1.*:
- Ondersteuning voor beveiligingsniveau EncryptionWithPassword en EncryptionAllWithPassword.
Alleen eigenschappen van versie 1.*
Projectwachtwoord
Wachtwoord voor het ontsleutelen van de ISPAC- of DTSX-bestanden. Dit argument is alleen geldig wanneer het beveiligingsniveau EncryptSensitiveWithPassword of EncryptAllWithPassword is.
SSIS-catalogusconfiguratietaak
Eigenschappen
Bron van configuratiebestand
Bron van het JSON-bestand van de SSIS-catalogusconfiguratie. Dit kan 'Bestandspad' of 'Inline' zijn.
Raadpleeg de details over hoe je JSON-configuratie kunt definiëren:
- Raadpleeg een configuratie-voorbeeld van JSON.
- Controleer JSON-schema.
JSON-bestandspad voor configuratie
Pad van het JSON-bestand voor de configuratie van de SSIS-catalogus. Deze eigenschap is alleen zichtbaar wanneer u 'Bestandspad' als configuratiebestandsbron selecteert.
Als u pijplijnvariabelen wilt gebruiken in het JSON-configuratiebestand, moet u een taak Bestandstransformatie toevoegen voordat deze taak configuratiewaarden vervangt door pijplijnvariabelen. Zie JSON-variabele vervangenvoor meer informatie.
JSON voor inline-configuratie
Inline JSON voor de configuratie van de SSIS-catalogus. Deze eigenschap is alleen zichtbaar wanneer u Inline als bron van het configuratiebestand selecteert. Pijplijnvariabelen kunnen rechtstreeks worden gebruikt.
Configuratie terugdraaien wanneer er een fout optreedt
Of de configuratie die door deze taak is gemaakt, ongedaan moet worden gemaakt wanneer er een fout optreedt.
Doelserver
Naam van doeldatabase-engine. Dit kan de naam zijn van een on-premises SQL Server, Azure SQL Database of Azure SQL Managed Instance.
Verificatietype
Verificatietype voor toegang tot de opgegeven doelserver. In het algemeen worden de onderstaande verificatietypen ondersteund:
- Windows-verificatie
- SQL Server-verificatie
- Active Directory - Wachtwoord
- Active Directory - Geïntegreerd
Maar of een specifiek verificatietype wordt ondersteund, is afhankelijk van het type doelserver en het agenttype. Gedetailleerde ondersteuningsmatrix wordt vermeld in de onderstaande tabel.
Doelservertype | Door Microsoft gehoste agent | Zelfgehoste agent |
---|---|---|
SQL Server lokaal of VM | N.V.T | Windows-verificatie |
Azure SQL | SQL Server-verificatie Active Directory - Wachtwoord |
SQL Server-verificatie Active Directory - Wachtwoord Active Directory - Geïntegreerd |
Gebruikersnaam
Gebruikersnaam voor toegang tot de doel-SQL Server. Deze eigenschap is alleen zichtbaar wanneer het verificatietype SQL Server-verificatie of Active Directory - Wachtwoord is.
Wachtwoord
Wachtwoord voor toegang tot de doel-SQL Server. Deze eigenschap is alleen zichtbaar wanneer het verificatietype SQL Server-verificatie of Active Directory - Wachtwoord is.
JSON-configuratie definiëren
Het JSON-configuratieschema heeft drie lagen:
- catalogus
- map
- project en omgeving
Een voorbeeld van inlineconfiguratie-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
Cataloguskenmerken
Eigenschap | Beschrijving | Notities |
---|---|---|
Mappen | Een array van mapobjecten. Elk object bevat configuratiegegevens voor een catalogusmap. | Zie mapkenmerken voor het schema van een mapobject. |
Mapkenmerken
Eigendom | Beschrijving | Notities |
---|---|---|
naam | Naam van de catalogusmap. | De map zal worden gemaakt als deze niet bestaat. |
beschrijving | Beschrijving van de catalogusmap. | De waarde van null- wordt overgeslagen. |
Projecten | Een matrix met projectobjecten. Elk object bevat configuratiegegevens voor een project. | Zie projectkenmerken voor het schema van een projectobject. |
Omgevingen | Een matrix met omgevingsobjecten. Elk object bevat configuratiegegevens voor een omgeving. | Zie Omgevingskenmerken voor het schema van een omgevingsobject. |
Projectkenmerken
Eigenschap | Beschrijving | Notities |
---|---|---|
naam | Naam van het project. | Het projectobject wordt overgeslagen als het project niet in de bovenliggende map is aangetroffen. |
Parameters | Een matrix met parameterobjecten. Elk object bevat configuratiegegevens voor een parameter. | Zie parameterkenmerken het schema van een parameterobject. |
Verwijzingen | Een matrix met referentieobjecten. Elk object vertegenwoordigt een omgevingsverwijzing naar het doelproject. | Zie Referentiekenmerken voor het schema van een referentieobject. |
Parameterkenmerken
Eigendom | Beschrijving | Notities |
---|---|---|
naam | Naam van de parameter. | |
container | Houder van de parameter. | |
waarde | Waarde van de parameter. | |
waardetype | Type van de parameterwaarde. | Geldige typen zijn: letterlijke: de waarde kenmerk vertegenwoordigt een letterlijke waarde. waarnaarwordt verwezen: het kenmerk waarde vertegenwoordigt een verwijzing naar een omgevingsvariabele. |
Verwijzingskenmerken
Eigenschap | Beschrijving | Notities |
---|---|---|
environmentFolder | Mapnaam van de omgeving. | De map wordt aangemaakt als deze nog niet bestaat. De waarde kan ".", zijn, die de bovenliggende map van het project vertegenwoordigt, welke naar de omgeving verwijst. |
omgevingsNaam | Naam van de omgeving waarnaar wordt verwezen. | De opgegeven omgeving wordt gemaakt als deze niet bestaat. |
Omgevingskenmerken
Eigenschap | Beschrijving | Notities |
---|---|---|
naam | Naam van de omgeving. | De omgeving zal worden aangemaakt als deze niet bestaat. |
beschrijving | Beschrijving van de omgeving. | De waarde van null- wordt overgeslagen. |
Variabelen | Een matrix met variabele objecten. | Elk object bevat configuratie-informatie voor een omgevingsvariabele.zie Variabelenkenmerken voor het schema van een variabeleobject. |
Variabele Attributen
Eigenschap | Beschrijving | Notities |
---|---|---|
naam | Naam van de omgevingsvariabele. | De omgevingsvariabele zal worden aangemaakt als deze niet bestaat. |
type | Gegevenstype van de omgevingsvariabele. | Geldige typen zijn: Boolean byte datum/tijd decimaal dubbele int16 int32 int64 sbyte enkel tekenreeks uint32 uint64 |
beschrijving | Beschrijving van de omgevingsvariabele. | De waarde van null- wordt overgeslagen. |
waarde | Waarde van de omgevingsvariabele. | Dit kenmerk ondersteunt alle geldige Booleaanse, numerieke en tekenreeks-JSON-waarden. De waarde wordt geconverteerd naar het type dat is opgegeven door type kenmerk. Er treedt een fout op als de conversie mislukt. De waarde van null- is ongeldig. De taak slaat dit omgevingsvariabeleobject over en geeft een waarschuwing. |
gevoelig | Of de waarde van de omgevingsvariabele gevoelig is. | Geldige invoeren zijn: waar onwaar |
Opmerkingen bij de release
Versie 1.0.6
Releasedatum: 1 september 2021
- Algemene beschikbaarheid(GA)-release.
Versie 1.0.5
Releasedatum: 2 juni 2021
- Er is een probleem opgelost waarbij SSIS Build Task van versie 1.* projecten/pakketten niet kon bouwen met beveiligingsniveau EncryptSensitiveWithPassword of EncryptAllWithPassword met de fout 'Opgegeven initialisatievector (IV) komt niet overeen met de blokgrootte voor dit algoritme.'
- De JSON-inhoud in het logboek van de SSIS-catalogusconfiguratietaak is verwijderd wanneer 'Bron van configuratiebestand' 'Bestandspad' is.
Versie 1.0.4
Releasedatum: 21 april 2021
- SSIS Build-taak versie 1.* (Preview)
- Verwijder de afhankelijkheid van Visual Studio en SSIS Designer. Build-taak kan worden uitgevoerd op door Microsoft gehoste agent of zelf-hostende agent met Windows OS en .NET Framework 4.6.2 of hoger.
- U hoeft geen out-of-box-onderdelen te installeren.
- Ondersteuning voor beveiligingsniveau EncryptionWithPassword en EncryptionAllWithPassword.
- SSIS-taakversie 1.* implementeren (preview)
- Ondersteuning voor beveiligingsniveau EncryptionWithPassword en EncryptionAllWithPassword.
Versie 1.0.3
Releasedatum: 21 oktober 2020
- Geef het achtervoegsel van de verbindingsreeks op voor de SSIS Deploy-taak en de SSIS-catalogusconfiguratietaak.
Versie 1.0.2
Releasedatum: 26 mei 2020
- Er is een probleem opgelost waarbij de SSIS-catalogusconfiguratietaak in sommige gevallen mislukt nadat het configuratiewerk is voltooid.
Versie 1.0.1
Releasedatum: 9 mei 2020
- Er is een probleem opgelost waarbij SSIS Build-taak altijd de hele oplossing bouwt, zelfs als er slechts één dtproj-bestand is opgegeven als projectpad.
Versie 1.0.0
Releasedatum: 8 mei 2020
- Algemene beschikbaarheid (GA) versie.
- Er is een beperking toegevoegd voor de minimale .NET Framework-versie op de agent. Momenteel is de minimale versie van .NET Framework 4.6.2.
- Verfijnde beschrijving van SSIS Build-taak en SSIS Deploy-taak.
Versie 0.2.0 Preview
Releasedatum: 31 maart 2020
- Voeg de SSIS-catalogusconfiguratietaak toe.
Versie 0.1.3 Preview
Releasedatum: 19 januari 2020
- Er is een probleem opgelost waardoor ispac niet kon worden geïmplementeerd als de oorspronkelijke bestandsnaam is gewijzigd.
Versie 0.1.2 Preview
Releasedatum: 13 januari 2020
- Meer gedetailleerde uitzonderingsinformatie toegevoegd in het SSIS Deploy-taaklogboek wanneer het doeltype SSISDB is.
- Het voorbeeld van het doelpad is opgelost in de Help-tekst van het eigenschapsdoelpad van de SSIS Deploy-taak.
Versie 0.1.1 Preview
Releasedatum: 6 januari 2020
- Er is een beperking toegevoegd voor minimale versievereisten voor agents. Momenteel is de minimale agentversie van dit product 2.144.0.
- Er is een aantal onjuiste weergaveteksten opgelost voor de SSIS Deploy-taak.
- Enkele foutberichten aangepast.
Versie 0.1.0 Preview
Releasedatum: 5 december 2019
Initiële release van SSIS DevOps Tools. Dit is een preview-versie.