Share via


SSIS-catalogus

van toepassing op:SQL Server SSIS Integration Runtime in Azure Data Factory

De SSISDB-catalogus is het centrale punt voor het werken met SSIS-projecten (Integration Services) die u hebt geïmplementeerd op de Integration Services-server. U stelt bijvoorbeeld project- en pakketparameters in, configureert omgevingen voor het opgeven van runtimewaarden voor pakketten, het uitvoeren en oplossen van problemen met pakketten en het beheren van Integration Services-serverbewerkingen.

Opmerking

In dit artikel wordt de SSIS-catalogus in het algemeen beschreven en de SSIS-catalogus die on-premises wordt uitgevoerd. U kunt ook de SSIS-catalogus maken in Azure SQL Database en SSIS-pakketten implementeren en uitvoeren in Azure. Zie Lift and shift SQL Server Integration Services-workloads naar de cloud voor meer informatie.

Hoewel u ook SSIS-pakketten op Linux kunt uitvoeren, wordt de SSIS-catalogus niet ondersteund in Linux. Zie Gegevens extraheren, transformeren en laden in Linux met SSIS voor meer informatie.

De objecten die zijn opgeslagen in de SSISDB-catalogus omvatten projecten, pakketten, parameters, omgevingen en operationele geschiedenis.

U inspecteert objecten, instellingen en operationele gegevens die zijn opgeslagen in de SSISDB-catalogus door een query uit te voeren op de weergaven in de SSISDB-database . U beheert de objecten door opgeslagen procedures aan te roepen in de SSISDB-database of met behulp van de gebruikersinterface van de SSISDB-catalogus . In veel gevallen kan dezelfde taak worden uitgevoerd in de gebruikersinterface of door een opgeslagen procedure aan te roepen.

Als u de SSISDB-database wilt onderhouden, wordt u aangeraden standaard enterprise-beleid toe te passen voor het beheren van gebruikersdatabases. Zie Onderhoudsplannen voor meer informatie over het maken van onderhoudsplannen.

De SSISDB-catalogus en de SSISDB-database ondersteunen Windows PowerShell. Zie SQL Server PowerShell voor meer informatie over het gebruik van SQL Server met Windows PowerShell. Zie het blogbericht SSIS en PowerShell in SQL Server 2012 op blogs.msdn.com voor voorbeelden van het gebruik van Windows PowerShell om taken te voltooien, zoals het implementeren van een project.

Zie Monitor het uitvoeren van pakketten en andere bewerkingen voor meer informatie over het bekijken van bewerkingsgegevens.

U opent de SSISDB-catalogus in SQL Server Management Studio door verbinding te maken met de SQL Server Database Engine en vervolgens het knooppunt Integration Services Catalogs in Object Explorer uit te vouwen. U opent de SSISDB-database in SQL Server Management Studio door het knooppunt Databases in Objectverkenner uit te vouwen.

Opmerking

U kunt de naam van de SSISDB-database niet wijzigen.

Opmerking

Als het SQL Server-exemplaar waaraan de SSISDB-database is gekoppeld, stopt of niet reageert, eindigt het ISServerExec.exe proces. Er wordt een bericht naar een Windows-gebeurtenislogboek geschreven.

Als de SQL Server-resources een failover uitvoeren als onderdeel van een clusterfailover, worden de actieve pakketten niet opnieuw opgestart. U kunt controlepunten gebruiken om pakketten opnieuw op te starten. Zie Pakketten opnieuw opstarten met behulp van controlepuntenvoor meer informatie.

Functies en mogelijkheden

Catalogusobject-id's

Wanneer u een nieuw object in de catalogus maakt, wijst u een naam toe aan het object. De objectnaam is een id. SQL Server definieert regels waarvoor tekens kunnen worden gebruikt in een id. Namen voor de volgende objecten moeten de id-regels volgen.

  • Map

  • Project

  • Milieu

  • Kenmerk

  • Omgevingsvariabele

Map, Project, Omgeving

Houd rekening met de volgende regels bij het wijzigen van de naam van een map, project of omgeving.

  • Ongeldige tekens zijn ASCII/Unicode-tekens 1 tot en met 31, aanhalingsteken ("), kleiner dan (<), groter dan (>), pijp (|), backspace (\b), null (\0) en tab (\t).

  • De naam bevat mogelijk geen voorloop- of volgspaties.

  • @ is niet toegestaan als het eerste teken, maar volgende tekens kunnen @gebruiken.

  • De lengte van de naam moet groter zijn dan 0 en kleiner dan of gelijk aan 128.

Kenmerk

Houd rekening met de volgende regels bij het benoemen van een parameter.

  • Het eerste teken van de naam moet een letter zijn zoals gedefinieerd in Unicode Standard 2.0 of een onderstrepingsteken (_).

  • Volgende tekens kunnen letters of cijfers zijn zoals gedefinieerd in de Unicode Standard 2.0 of een onderstrepingsteken (_).

Omgevingsvariabele

Houd rekening met de volgende regels bij het benoemen van een omgevingsvariabele.

  • Ongeldige tekens zijn ASCII/Unicode-tekens 1 tot en met 31, aanhalingsteken ("), kleiner dan (<), groter dan (>), pijp (|), backspace (\b), null (\0) en tab (\t).

  • De naam bevat mogelijk geen voorloop- of volgspaties.

  • @ is niet toegestaan als het eerste teken, maar volgende tekens kunnen @gebruiken.

  • De lengte van de naam moet groter zijn dan 0 en kleiner dan of gelijk aan 128.

  • Het eerste teken van de naam moet een letter zijn zoals gedefinieerd in Unicode Standard 2.0 of een onderstrepingsteken (_).

  • Volgende tekens kunnen letters of cijfers zijn zoals gedefinieerd in de Unicode Standard 2.0 of een onderstrepingsteken (_).

Catalogusconfiguratie

U kunt afstemmen hoe de catalogus zich gedraagt door de cataloguseigenschappen aan te passen. Cataloguseigenschappen bepalen hoe gevoelige gegevens worden versleuteld en hoe bewerkingen en projectversiegegevens worden bewaard. Als u cataloguseigenschappen wilt instellen, gebruikt u het dialoogvenster Cataloguseigenschappen of roept u de opgeslagen procedure catalog.configure_catalog (SSISDB Database) aan. Als u de eigenschappen wilt weergeven, gebruikt u het dialoogvenster of de query catalog.catalog_properties (SSISDB-database). U opent het dialoogvenster door met de rechtermuisknop op SSISDB te klikken in Objectverkenner.

Operaties en opschoning van projectversies

Statusgegevens voor veel van de bewerkingen in de catalogus worden opgeslagen in interne databasetabellen. De catalogus houdt bijvoorbeeld de status van pakketuitvoeringen en projectimplementaties bij. Als u de grootte van de bewerkingsgegevens wilt behouden, wordt de SSIS Server-onderhoudstaak in SQL Server Management Studio gebruikt om oude gegevens te verwijderen. Deze SQL Server Agent-taak wordt gemaakt wanneer Integration Services is geïnstalleerd.

U kunt een Integration Services-project bijwerken of opnieuw implementeren door het project te implementeren met dezelfde naam in dezelfde map in de catalogus. Telkens wanneer u een project opnieuw implementeert, behoudt de SSISDB-catalogus standaard de vorige versie van het project. Als u de grootte van de bewerkingsgegevens wilt behouden, wordt de SSIS-serveronderhoudstaak gebruikt om oude versies van projecten te verwijderen.

Als u de SSIS Server-onderhoudstaak wilt uitvoeren, maakt SSIS de SQL Server-aanmelding ##MS_SSISServerCleanupJobLogin##. Deze aanmelding is alleen voor intern gebruik door SSIS.

De volgende SSISDB-cataloguseigenschappen definiëren hoe deze SQL Server Agent-taak zich gedraagt. U kunt de eigenschappen weergeven en wijzigen met behulp van het dialoogvenster Cataloguseigenschappen of met behulp van catalog.catalog_properties (SSISDB-database) en catalog.configure_catalog (SSISDB-database).

Logboeken periodiek opschonen
De taakstap voor het opschonen van bewerkingen wordt uitgevoerd wanneer deze eigenschap is ingesteld op True.

Bewaarperiode (dagen)
Hiermee definieert u de maximale leeftijd van toegestane bewerkingsgegevens (in dagen). Oudere gegevens worden verwijderd.

De minimumwaarde is één dag. De maximumwaarde wordt alleen beperkt door de maximumwaarde van de SQL Server int-gegevens . Zie int, bigint, smallint en tinyint (Transact-SQL) voor informatie over dit gegevenstype.

Oude versies periodiek verwijderen
De taakstap voor het opschonen van projectversies wordt uitgevoerd wanneer deze eigenschap is ingesteld op Waar.

Maximum aantal versies per project
Definieert hoeveel versies van een project worden opgeslagen in de catalogus. Oudere versies van projecten worden verwijderd.

Coderingsalgoritme

De eigenschap Encryption Algorithm geeft het type versleuteling op dat wordt gebruikt voor het versleutelen van gevoelige parameterwaarden. U kunt kiezen uit de volgende typen versleuteling.

  • AES_256 (standaard)

  • AES_192

  • AES_128

  • DESX

  • TRIPLE_DES_3KEY (drievoudige DES met drie sleutels)

  • TRIPLE_DES (Drievoudige Data-encryptiestandaard)

  • DES

Wanneer u een Integration Services-project implementeert op de Integration Services-server, versleutelt de catalogus automatisch de pakketgegevens en gevoelige waarden. De catalogus ontsleutelt de gegevens ook automatisch wanneer u deze ophaalt. De SSISDB-catalogus maakt gebruik van het beveiligingsniveau ServerStorage . Zie toegangsbeheer voor gevoelige gegevens in pakkettenvoor meer informatie.

Het wijzigen van het versleutelingsalgoritmen is een tijdrovende bewerking. Eerst moet de server het eerder opgegeven algoritme gebruiken om alle configuratiewaarden te ontsleutelen. Vervolgens moet de server het nieuwe algoritme gebruiken om de waarden opnieuw te versleutelen. Gedurende deze tijd kunnen er geen andere Integration Services-bewerkingen op de server zijn. Om integratieservices in staat te stellen ononderbroken door te gaan, is het versleutelingsalgoritmen dus een alleen-lezenwaarde in het dialoogvenster in Management Studio.

Als u de instelling van de eigenschap Versleutelingsalgoritmen wilt wijzigen, stelt u de SSISDB-database in op de modus voor één gebruiker en roept u de catalog.configure_catalog opgeslagen procedure aan. Gebruik ENCRYPTION_ALGORITHM voor het argument property_name . Zie catalog.catalog_properties (SSISDB-database) voor de ondersteunde eigenschapswaarden. Zie catalog.configure_catalog (SSISDB-database) voor meer informatie over de opgeslagen procedure.

Zie Een database instellen op de modus voor één gebruiker voor meer informatie over de modus voor één gebruiker. Zie de onderwerpen in de sectie SQL Server Encryption voor informatie over versleuteling en versleutelingsalgoritmen in SQL Server.

Een databasehoofdsleutel wordt gebruikt voor de versleuteling. De sleutel wordt gemaakt wanneer u de catalogus maakt.

De volgende tabel bevat de eigenschapsnamen die worden weergegeven in het dialoogvenster Cataloguseigenschappen en de bijbehorende eigenschappen in de databaseweergave.

Eigenschapsnaam (dialoogvenster Cataloguseigenschappen ) Eigenschapsnaam (databaseweergave)
Naam van versleutelingsalgoritmen ENCRYPTIE_ALGORITME
Logboeken periodiek opschonen OPERATIE_SCHOONMAKEN_INGESCHAKELD
Bewaarperiode (dagen) retentieperiode
Oude versies periodiek verwijderen VERSIE_OPRUIMING_INGESCHAKELD
Maximum aantal versies per project MAXIMUM_PROJECT_VERSIES
Standaardniveau voor logboekregistratie voor de hele server Niveau van Serverlogging

Machtigingen

Projecten, omgevingen en pakketten bevinden zich in mappen die beveiligbare objecten zijn. U kunt machtigingen verlenen aan een map, inclusief de MANAGE_OBJECT_PERMISSIONS machtiging. MANAGE_OBJECT_PERMISSIONS kunt u het beheer van mapinhoud delegeren aan een gebruiker zonder dat u het gebruikerslidmaatschap hoeft te verlenen aan de ssis_admin rol. U kunt ook machtigingen verlenen aan projecten, omgevingen en bewerkingen. Bewerkingen omvatten het initialiseren van Integration Services, het implementeren van projecten, het maken en starten van uitvoeringen, het valideren van projecten en pakketten en het configureren van de SSISDB-catalogus .

Zie Database-Level Rollenvoor meer informatie over databaserollen.

De SSISDB-catalogus maakt gebruik van een DDL-trigger, ddl_cleanup_object_permissions, om de integriteit van machtigingsgegevens voor SSIS-beveiligbare gegevens af te dwingen. De trigger wordt geactiveerd wanneer een database-principal, zoals een databasegebruiker, databaserol of een databasetoepassingsrol, wordt verwijderd uit de SSISDB-database.

Als de principal machtigingen aan andere principals heeft verleend of geweigerd, trekt u de machtigingen in die de grantor heeft gegeven voordat de principal kan worden verwijderd. Anders wordt er een foutbericht geretourneerd wanneer het systeem de principal probeert te verwijderen. Met de trigger worden alle machtigingsrecords verwijderd waarbij de database-principal een grantee is.

Het wordt aanbevolen dat de trigger niet is uitgeschakeld omdat deze ervoor zorgt dat er geen zwevende machtigingsrecords zijn nadat een database-principal is verwijderd uit de SSISDB-database .

Machtigingen beheren

U kunt machtigingen beheren met behulp van de gebruikersinterface van SQL Server Management Studio, opgeslagen procedures en de Microsoft.SqlServer.Management.IntegrationServices naamruimte.

Als u machtigingen wilt beheren met de gebruikersinterface van SQL Server Management Studio, gebruikt u de volgende dialoogvensters:

Als u machtigingen wilt beheren met Behulp van Transact-SQL, roept u catalog.grant_permission (SSISDB Database), catalog.deny_permission (SSISDB Database) en catalog.revoke_permission (SSISDB-database) aan. Als u effectieve machtigingen voor de huidige principal voor alle objecten wilt weergeven, voert u een query uit op catalog.effective_object_permissions (SSISDB Database).> Dit onderwerp bevat beschrijvingen van de verschillende typen machtigingen. Als u machtigingen wilt weergeven die expliciet aan de gebruiker zijn toegewezen, voert u een query uit op catalog.explicit_object_permissions (SSISDB-database).

Mappen

Een map bevat een of meer projecten en omgevingen in de SSISDB-catalogus . U kunt de weergave catalog.folders (SSISDB Database) gebruiken voor toegang tot informatie over mappen in de catalogus. U kunt de volgende opgeslagen procedures gebruiken om mappen te beheren:

Projecten en pakketten

Elk project kan meerdere pakketten bevatten. Zowel projecten als pakketten kunnen parameters en verwijzingen naar omgevingen bevatten. U kunt de parameters en omgevingsverwijzingen openen met behulp van het dialoogvenster Configureren.

U kunt andere projecttaken uitvoeren door de volgende opgeslagen procedures aan te roepen:

Deze weergaven bieden details over pakketten, projecten en projectversies.

Parameterwaarden

U gebruikt parameters om waarden toe te wijzen aan pakketeigenschappen op het moment van pakketuitvoering. Als u de waarde van een pakket- of projectparameter wilt instellen en de waarde wilt wissen, roept u catalog.set_object_parameter_value (SSISDB-database) en catalog.clear_object_parameter_value (SSISDB-database) aan. Als u de waarde van een parameter voor een exemplaar van uitvoering wilt instellen, roept u catalog.set_execution_parameter_value (SSISDB-database) aan. U kunt standaardparameterwaarden ophalen door catalog.get_parameter_values (SSISDB Database) aan te roepen.

Deze weergaven tonen de parameters voor alle pakketten en projecten en parameterwaarden die worden gebruikt voor een exemplaar van uitvoering.

Verwijzingen naar serveromgevingen, servervariabelen en serveromgevingen

Serveromgevingen bevatten servervariabelen. De variabelewaarden kunnen worden gebruikt wanneer een pakket wordt uitgevoerd of gevalideerd op de Integration Services-server.

Met de volgende opgeslagen procedures kunt u veel andere beheertaken uitvoeren voor omgevingen en variabelen.

Door de opgeslagen procedure catalog.set_environment_variable_protection (SSISDB Database) aan te roepen, kunt u de vertrouwelijkheidsbit voor een variabele instellen.

Als u de waarde van een servervariabele wilt gebruiken, geeft u de verwijzing op tussen het project en de serveromgeving. U kunt de volgende opgeslagen procedures gebruiken om verwijzingen te maken en te verwijderen. U kunt ook aangeven of de omgeving zich in dezelfde map als het project of in een andere map kan bevinden.

Voer een query uit op deze weergaven voor meer informatie over omgevingen en variabelen.

Uitvoeringen en validaties

Een uitvoering is een proces van het uitvoeren van een pakket. Roep catalog.create_execution (SSISDB-database) en catalog.start_execution (SSISDB-database) aan om een uitvoering te maken en te starten. Als u een uitvoering of een pakket-/projectvalidatie wilt stoppen, roept u catalog.stop_operation (SSISDB-database) aan.

Als u een actief pakket wilt onderbreken en een dumpbestand wilt maken, roept u de catalog.create_execution_dump stored procedure aan. Een dumpbestand bevat informatie over de uitvoering van een pakket waarmee u problemen met de uitvoering kunt oplossen. Zie Dumpbestanden genereren voor pakketuitvoering voor meer informatie over het genereren en configureren van dumpbestanden.

Voor meer informatie over uitvoeringen, validaties, berichten die worden geregistreerd tijdens bewerkingen en contextuele informatie met betrekking tot fouten, voert u een query uit op deze weergaven.

U kunt projecten en pakketten valideren door de opgeslagen procedures catalog.validate_project (SSISDB Database) en catalog.validate_package (SSISDB Database) aan te roepen. De weergave catalog.validations (SSISDB Database) bevat details over validaties zoals de serveromgevingverwijzingen die in de validatie worden beschouwd, of het nu een afhankelijkheidsvalidatie of een volledige validatie is, en of de 32-bits runtime of de 64-bits runtime wordt gebruikt om het pakket uit te voeren.

De SSIS-catalogus maken

Nadat u pakketten in SQL Server Data Tools hebt ontworpen en getest, kunt u de projecten implementeren die de pakketten bevatten op een Integration Services-server. Voordat u de projecten op de Integration Services-server kunt implementeren, moet de server de SSISDB-catalogus bevatten. Het installatieprogramma voor SQL Server 2012 (11.x) maakt niet automatisch de catalogus; U moet de catalogus handmatig maken met behulp van de volgende instructies.

U kunt de SSISDB-catalogus maken in SQL Server Management Studio. U maakt de catalogus ook programmatisch met behulp van Windows PowerShell.

De SSISDB-catalogus maken in SQL Server Management Studio

  1. Open SQL Server Management Studio.

  2. Maak verbinding met de SQL Server Database Engine.

  3. Vouw in Objectverkenner het serverknooppunt uit, klik met de rechtermuisknop op het knooppunt Integration Services Catalogs en klik vervolgens op Catalogus maken.

  4. Klik op CLR-integratie inschakelen.

    De catalogus gebruikt CLR-opgeslagen procedures.

  5. Klik op Automatisch uitvoeren van de opgeslagen procedure van Integration Services bij het opstarten van SQL Server inschakelen om de opgeslagen procedure catalog.startup in te schakelen telkens wanneer het SSIS-serverexemplaren opnieuw wordt opgestart.

    De opgeslagen procedure voert onderhoud uit van de status van bewerkingen voor de SSISDB-catalogus. De status van alle pakketten die worden uitgevoerd, wordt opgelost als het SSIS-serverexemplaren uitvalt.

  6. Voer een wachtwoord in en klik op OK.

    Het wachtwoord beveiligt de hoofdsleutel van de database die wordt gebruikt voor het versleutelen van de catalogusgegevens. Sla het wachtwoord op een veilige locatie op. U wordt aangeraden ook een back-up te maken van de hoofdsleutel van de database. Zie Een back-up maken van een databasehoofdsleutel voor meer informatie.

De SSISDB-catalogus programmatisch maken

  1. Voer het volgende PowerShell-script uit:

    # Load the IntegrationServices Assembly  
    [Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Management.IntegrationServices")  
    
    # Store the IntegrationServices Assembly namespace to avoid typing it every time  
    $ISNamespace = "Microsoft.SqlServer.Management.IntegrationServices"  
    
    Write-Host "Connecting to server ..."  
    
    # Create a connection to the server  
    $sqlConnectionString = "Data Source=localhost;Initial Catalog=master;Integrated Security=SSPI;"  
    $sqlConnection = New-Object System.Data.SqlClient.SqlConnection $sqlConnectionString  
    
    # Create the Integration Services object  
    $integrationServices = New-Object $ISNamespace".IntegrationServices" $sqlConnection  
    
    # Provision a new SSIS Catalog  
    $catalog = New-Object $ISNamespace".Catalog" ($integrationServices, "SSISDB", "P@assword1")  
    $catalog.Create()  
    
    

    Zie het blogberichtMicrosoft.SqlServer.Management.IntegrationServices op blogs.msdn.com voor meer voorbeelden van het gebruik van Windows PowerShell en de naamruimte. Zie het blogbericht A Glimpse of the SSIS Catalog Managed Object Model op blogs.msdn.com voor een overzicht van de naamruimte en codevoorbeelden.

Dialoogvenster Cataloguseigenschappen

Gebruik het dialoogvenster Cataloguseigenschappen om de SSISDB-catalogus te configureren. Cataloguseigenschappen bepalen hoe gevoelige gegevens worden versleuteld, hoe bewerkingen en projectversiegegevens worden bewaard en wanneer er een time-out optreedt bij validatiebewerkingen. De SSISDB-catalogus is een centraal opslag- en beheerpunt voor Integration Services-projecten, pakketten, parameters en omgevingen.

U kunt cataloguseigenschappen ook weergeven in de catalog.catalog_properties weergave en de eigenschappen instellen met behulp van de catalog.configure_catalog opgeslagen procedure. Zie catalog.catalog_properties (SSISDB-database) en catalog.configure_catalog (SSISDB-database) voor meer informatie.

Wat wilt u doen?

Het dialoogvenster Cataloguseigenschappen openen

  1. Open SQL Server Management Studio.

  2. Verbinding maken met Microsoft SQL Server Database Engine.

  3. Vouw in Objectverkenner het knooppunt Integration Services uit, klik met de rechtermuisknop op SSISDB en klik vervolgens op Eigenschappen.

De opties configureren

Opties

In de volgende tabel worden bepaalde eigenschappen in het dialoogvenster en de bijbehorende eigenschappen in de catalog.catalog_properties weergave beschreven.

Eigenschapsnaam (dialoogvenster Cataloguseigenschappen) Eigenschapsnaam (catalog.catalog_properties weergave) Beschrijving
Naam van versleutelingsalgoritmen ENCRYPTIE_ALGORITME Hiermee geeft u het type versleuteling op dat wordt gebruikt voor het versleutelen van de gevoelige parameterwaarden in de catalogus. Hier volgen de mogelijke waarden:

DES

TRIPLE_DES (Drievoudige Data-encryptiestandaard)

TRIPLE_DES_3KEY (drievoudige DES met drie sleutels)

DESPX

AES_128

AES_192

AES_256 (standaard)
Maximum aantal versies per project MAXIMUM_PROJECT_VERSIES Geef op hoeveel versies van een project worden opgeslagen in de catalogus. Oudere versies van projecten die het maximum overschrijden, worden verwijderd wanneer de opschoontaak van de projectversie wordt uitgevoerd.
Logboeken periodiek opschonen OPERATIE_SCHOONMAKEN_INGESCHAKELD Stel de eigenschap in op True om aan te geven dat de SQL Server Agent-taak, bewerkingen opschonen, wordt uitgevoerd. Anders stelt u de eigenschap in op False.
Bewaarperiode (dagen) retentieperiode Geef de maximale leeftijd van toegestane bewerkingsgegevens (in dagen) op. Gegevens die ouder zijn dan het opgegeven aantal dagen, worden verwijderd door de SQL Agent-taak, bewerkingen opschonen.

Een back-up maken, herstellen en de SSIS-catalogus verplaatsen

van toepassing op: SQL Server 2016 (13.x) en latere versies

SQL Server 2019 Integration Services (SSIS) bevat de SSISDB-database. U voert query's uit in de SSISDB-database om objecten, instellingen en operationele gegevens te inspecteren die zijn opgeslagen in de SSISDB-catalogus . Dit onderwerp bevat instructies voor het maken van back-ups en het herstellen van de database.

In de SSISDB-catalogus worden de pakketten opgeslagen die u hebt geïmplementeerd op de Integration Services-server. Zie de SSIS-catalogus voor meer informatie over de catalogus.

Een back-up maken van de SSIS-database

  1. Open SQL Server Management Studio en maak verbinding met een exemplaar van SQL Server.

  2. Maak een back-up van de hoofdsleutel voor de SSISDB-database met behulp van de instructie BACKUP MASTER KEY Transact-SQL. De sleutel wordt opgeslagen in een bestand dat u opgeeft. Gebruik een wachtwoord om de hoofdsleutel in het bestand te versleutelen.

    Zie BACKUP MASTER KEY (Transact-SQL) voor meer informatie over de verklaring.

    In het volgende voorbeeld wordt de hoofdsleutel geëxporteerd naar het c:\temp directory\RCTestInstKey bestand. Het LS2Setup! wachtwoord wordt gebruikt om de hoofdsleutel te versleutelen.

    backup master key to file = 'c:\temp\RCTestInstKey'  
           encryption by password = 'LS2Setup!'  
    
    
  3. Maak een back-up van de SSISDB-database met behulp van het dialoogvenster Back-updatabase in SQL Server Management Studio. Zie Procedure: Back-ups maken van een database (SQL Server Management Studio)voor meer informatie.

  4. Genereer het script CREATE LOGIN voor ##MS_SSISServerCleanupJobLogin## door het volgende te doen. Zie CREATE LOGIN (Transact-SQL)voor meer informatie.

    1. Vouw in Objectverkenner in SQL Server Management Studio het beveiligingsknooppunt uit en vouw vervolgens het aanmeldingsknooppunt uit.

    2. Klik met de rechtermuisknop op ##MS_SSISServerCleanupJobLogin## en klik vervolgens op Script aanmelden als>CREATE To>Nieuw Query Editor-venster.

  5. Als u de SSISDB-database herstelt naar een SQL Server-exemplaar waarop de SSISDB-catalogus nooit is gemaakt, genereert u het CREATE PROCEDURE-script voor sp_ssis_startup door de volgende handelingen uit te voeren. Zie CREATE PROCEDURE (Transact-SQL) voor meer informatie.

    1. Vouw in Objectverkenner het knooppunt Databases uit en vouw vervolgens het knooppunt master>Programmabiliteit>Opgeslagen Procedures uit.

    2. Klik met de rechtermuisknop op dbo.sp_ssis_startup en klik vervolgens op Script Stored Procedure als>CREATE To>New Query Editor Window.

  6. Controleer of SQL Server Agent is gestart

  7. Als u de SSISDB-database herstelt naar een SQL Server-exemplaar waar de SSISDB-catalogus nooit is gemaakt, genereert u een script voor de SSIS-serveronderhoudstaak door de volgende dingen uit te voeren. Het script wordt automatisch gemaakt in SQL Server Agent wanneer de SSISDB-catalogus wordt gemaakt. De taak helpt bij het opschonen van bewerkingslogboeken buiten het bewaarvenster en het verwijderen van oudere versies van projecten.

    1. Vouw in Objectverkenner het knooppunt SQL Server Agent uit en vouw vervolgens het knooppunt Taken uit.

    2. Klik met de rechtermuisknop op de onderhoudstaak van de SSIS-server en klik vervolgens op Scripttaak als>CREATE To>New Query Editor Window.

De SSIS-database herstellen

  1. Als u de SSISDB-database herstelt naar een SQL Server-exemplaar waar de SSISDB-catalogus nooit is gemaakt, schakelt u Common Language Runtime (CLR) in door de sp_configure opgeslagen procedure uit te voeren. Zie sp_configure (Transact-SQL) en clr enabled Option voor meer informatie.

    use master   
           sp_configure 'clr enabled', 1  
           reconfigure  
    
    
  2. Als u de SSISDB-database herstelt naar een SQL Server-exemplaar waar de SSISDB-catalogus nooit is gemaakt, maakt u de asymmetrische sleutel en de aanmelding vanaf de asymmetrische sleutel en verleent u ONVEILIGe machtigingen voor de aanmelding.

    Create Asymmetric Key MS_SQLEnableSystemAssemblyLoadingKey  
           FROM Executable File = 'C:\Program Files\Microsoft SQL Server\YourSQLServerDefaultCompatibilityLevel\DTS\Binn\Microsoft.SqlServer.IntegrationServices.Server.dll'  
    

    U vindt de waarde in YourSQLServerDefaultCompatibilityLevel een lijst met standaardcompatibiliteitsniveaus van SQL Server.

    Voor opgeslagen procedures van Integration Services CLR moeten ONVEILIGe machtigingen worden verleend aan de aanmelding, omdat voor de aanmelding extra toegang tot beperkte resources is vereist, zoals de Microsoft Win32-API. Voor meer informatie over de machtiging voor onveilige code, zie Een assembly maken.

    Create Login ##MS_SQLEnableSystemAssemblyLoadingUser## FROM Asymmetric Key MS_SQLEnableSystemAssemblyLoadingKey   
    Grant Unsafe Assembly to ##MS_SQLEnableSystemAssemblyLoadingUser##    
    
  3. Herstel de SSISDB-database vanuit de back-up met behulp van het dialoogvenster Database herstellen in SQL Server Management Studio. Zie de volgende onderwerpen voor meer informatie:

  4. Voer de scripts uit die u hebt gemaakt in To Back up the SSIS Database voor ##MS_SSISServerCleanupJobLogin##, sp_ssis_startup en SSIS Serveronderhoudstaak. Bevestig dat SQL Server Agent is gestart.

  5. Voer de volgende instructie uit om de sp_ssis_startup procedure voor automatisch uitvoeren in te stellen. Zie sp_procoption (Transact-SQL)voor meer informatie.

    EXEC sp_procoption N'sp_ssis_startup','startup','on'  
    
  6. Koppel de SSISDB-gebruiker ##MS_SSISServerCleanupJobUser## (SSISDB-database) aan ##MS_SSISServerCleanupJobLogin##, met behulp van het dialoogvenster Aanmeldingseigenschappen in SQL Server Management Studio.

  7. Herstel de hoofdsleutel met behulp van een van de volgende methoden. Zie Versleutelingshiërarchie voor meer informatie over versleuteling.

    • Methode 1

      Gebruik deze methode als u al een back-up van de databasehoofdsleutel hebt uitgevoerd en u het wachtwoord hebt gebruikt om de hoofdsleutel te versleutelen.

             Restore master key from file = 'c:\temp\RCTestInstKey'  
             Decryption by password = 'LS2Setup!' -- 'Password used to encrypt the master key during SSISDB backup'  
             Encryption by password = 'LS3Setup!' -- 'New Password'  
             Force  
      
      

      Opmerking

      Controleer of het SQL Server-serviceaccount machtigingen heeft om het back-upsleutelbestand te lezen.

      Opmerking

      U ziet het volgende waarschuwingsbericht dat wordt weergegeven in SQL Server Management Studio als de hoofdsleutel van de database nog niet is versleuteld door de servicehoofdsleutel. Negeer het waarschuwingsbericht.

      De huidige hoofdsleutel kan niet worden ontsleuteld. De fout is genegeerd omdat de optie FORCE is opgegeven.

      Het argument FORCE geeft aan dat het herstelproces moet worden voortgezet, zelfs als de huidige databasehoofdsleutel niet is geopend. Voor de SSISDB-catalogus, omdat de hoofdsleutel van de database niet is geopend op het exemplaar waar u de database herstelt, ziet u dit bericht.

    • Methode 2

      Gebruik deze methode als u het oorspronkelijke wachtwoord hebt dat is gebruikt om SSISDB te maken.

      open master key decryption by password = 'LS1Setup!' --'Password used when creating SSISDB'  
             Alter Master Key Add encryption by Service Master Key  
      
  8. Bepaal of het SSISDB-catalogusschema en de binaire bestanden van Integration Services (ISServerExec en SQLCLR-assembly) compatibel zijn door catalog.check_schema_version uit te voeren.

  9. Als u wilt controleren of de SSISDB-database is hersteld, voert u bewerkingen uit op de SSISDB-catalogus, zoals het uitvoeren van pakketten die zijn geïmplementeerd op de Integration Services-server. Zie SSIS-pakketten (Run Integration Services) voor meer informatie.

De SSIS-database verplaatsen

  • Volg de instructies voor het verplaatsen van gebruikersdatabases. Voor meer informatie, zie Gebruikersdatabases verplaatsen.

    Zorg ervoor dat u een back-up maakt van de hoofdsleutel voor de SSISDB-database en het back-upbestand beveiligt. Zie Back-up maken van de SSIS-database voor meer informatie.

    Zorg ervoor dat de relevante SSIS-objecten (Integration Services) worden gemaakt in het nieuwe SQL Server-exemplaar waar de SSISDB-catalogus nog niet is gemaakt.

De SSIS-catalogus upgraden (SSISDB)

Voer de SSISDB-upgradewizard uit om de SSIS Catalog-database, SSISDB, te upgraden wanneer de database ouder is dan de huidige versie van het SQL Server-exemplaar. De database kan ouder zijn wanneer aan een van de volgende voorwaarden wordt voldaan.

  • U hebt de database hersteld van een oudere versie van SQL Server.

  • U hebt de database niet verwijderd uit een AlwaysOn-beschikbaarheidsgroep voordat u het SQL Server-exemplaar bijwerken. Met deze voorwaarde voorkomt u dat de database automatisch wordt bijgewerkt. Zie SSISDB upgraden in een beschikbaarheidsgroep voor meer informatie.

De wizard kan de database alleen upgraden op een lokaal serverexemplaar.

De SSIS-catalogus (SSISDB) bijwerken door de SSISDB-upgradewizard uit te voeren

  1. Maak een back-up van de SSIS Catalog-database, SSISDB.

  2. Vouw in SQL Server Management Studio de lokale server uit en vouw vervolgens Integration Services Catalogs uit.

  3. Klik met de rechtermuisknop op SSISDB en selecteer vervolgens Database-upgrade om de wizard SSISDB-upgrade te starten. Of start de SSISDB-upgradewizard door uit te voeren C:\Program Files\Microsoft SQL Server\140\DTS\Binn\ISDBUpgradeWizard.exe met verhoogde machtigingen op de lokale server.

    De SSISDB-upgradewizard starten

  4. Op de pagina Selecteer exemplaar, kies een SQL Server-exemplaar op de lokale server.

    Belangrijk

    De wizard kan de database alleen upgraden op een lokaal serverexemplaar.

    Schakel het selectievakje in om aan te geven dat u een back-up van de SSISDB-database hebt gemaakt voordat u de wizard uitvoert.

    Selecteer de server in de SSISDB-upgradewizard

  5. Selecteer Upgraden om de SSIS Catalog-database bij te werken.

  6. Bekijk de resultaten op de pagina Resultaat .

    Bekijk de resultaten in de SSISDB-upgradewizard

AlwaysOn voor SSIS-catalogus (SSISDB)

De functie AlwaysOn-beschikbaarheidsgroepen is een oplossing voor hoge beschikbaarheid en herstel na noodgevallen die een alternatief op ondernemingsniveau biedt voor databasespiegeling. Een beschikbaarheidsgroep ondersteunt een failover-omgeving voor een discrete set gebruikersdatabases, ook wel beschikbaarheidsdatabases genoemd, die samen een failover uitvoeren. Zie AlwaysOn-beschikbaarheidsgroepen voor meer informatie.

Als u de hoge beschikbaarheid voor de SSIS-catalogus (SSISDB) en de inhoud (projecten, pakketten, uitvoeringslogboeken, enzovoort) wilt bieden, kunt u de SSISDB-database (net als elke andere gebruikersdatabase) toevoegen aan een AlwaysOn-beschikbaarheidsgroep. Wanneer een failover optreedt, wordt een van de secundaire knooppunten automatisch het nieuwe primaire knooppunt.

Opmerking

Ingesloten beschikbaarheidsgroepen, die zijn geïntroduceerd in SQL Server 2022, worden nog niet ondersteund.

Belangrijk

Wanneer een failover optreedt, worden pakketten die worden uitgevoerd, niet opnieuw opgestart of hervat.

In deze sectie:

  1. Voorwaarden

  2. SSIS-ondersteuning configureren voor AlwaysOn

  3. SSISDB bijwerken in een beschikbaarheidsgroep

Vereiste voorwaarden

Voer de volgende vereiste stappen uit voordat u AlwaysOn-ondersteuning inschakelt voor de SSISDB-database.

  1. Stel een Windows-failovercluster in. Zie de blogpost 'Het installeren van de functie en hulpprogramma's voor failoverclusters voor Windows Server 2012' voor instructies. Installeer de functie en hulpprogramma's op alle clusterknooppunten.

  2. Installeer sql Server 2016 met de functie Integration Services (SSIS) op elk knooppunt van het cluster.

  3. Schakel AlwaysOn-beschikbaarheidsgroepen in voor elk SQL Server-exemplaar. Zie AlwaysOn-beschikbaarheidsgroepen inschakelen voor meer informatie.

SSIS-ondersteuning configureren voor AlwaysOn

Belangrijk

  • U moet deze stappen uitvoeren op het primaire knooppunt van de beschikbaarheidsgroep.
  • U moet SSIS-ondersteuning voor AlwaysOn inschakelen nadat u SSISDB hebt toegevoegd aan een AlwaysOn-beschikbaarheidsgroep.

Stap 1: Integratieservicescatalogus maken

  1. Start SQL Server Management Studio en maak verbinding met een SQL Server-exemplaar in het cluster dat u wilt instellen als het primaire knooppunt van de AlwaysOn-groep voor hoge beschikbaarheid voor SSISDB.

  2. Vouw in Objectverkenner het serverknooppunt uit, klik met de rechtermuisknop op het knooppunt Integration Services Catalogs en klik vervolgens op Catalogus maken.

  3. Klik op CLR-integratie inschakelen. De catalogus gebruikt CLR-opgeslagen procedures.

  4. Klik op Automatisch uitvoeren van de opgeslagen procedure van Integration Services bij het opstarten van SQL Server inschakelen om de opgeslagen procedure catalog.startup in te schakelen telkens wanneer het SSIS-serverexemplaren opnieuw wordt opgestart. De opgeslagen procedure voert onderhoud uit van de status van bewerkingen voor de SSISDB-catalogus. Hiermee herstelt het de status van pakketten die eerder werden uitgevoerd op het moment dat de SSIS-serverinstantie uitvalt.

  5. Voer een wachtwoord in en klik op OK. Het wachtwoord beveiligt de hoofdsleutel van de database die wordt gebruikt voor het versleutelen van de catalogusgegevens. Sla het wachtwoord op een veilige locatie op. U wordt aangeraden ook een back-up te maken van de hoofdsleutel van de database. Zie Een back-up maken van een databasehoofdsleutel voor meer informatie.

Stap 2: SSISDB toevoegen aan een AlwaysOn-beschikbaarheidsgroep

Het toevoegen van de SSISDB-database aan een AlwaysOn-beschikbaarheidsgroep is bijna hetzelfde als het toevoegen van andere gebruikersdatabases aan een beschikbaarheidsgroep. Zie De wizard Beschikbaarheidsgroep gebruiken.

Geef het wachtwoord op dat u hebt opgegeven tijdens het maken van de SSIS-catalogus op de pagina Databases selecteren van de wizard Nieuwe beschikbaarheidsgroep .

Nieuwe beschikbaarheidsgroep nieuwe beschikbaarheidsgroep

Belangrijk

Als u problemen met de hoofdsleutel na een failover wilt voorkomen, gebruikt u de methode Volledige database en logboekback-up om de SSISDB-database toe te voegen aan de AlwaysOn-beschikbaarheidsgroep.

Stap 3: SSIS-ondersteuning inschakelen voor AlwaysOn

Nadat u de integratieservicecatalogus hebt gemaakt, klikt u met de rechtermuisknop op het knooppunt Integration Service Catalogs en klikt u op AlwaysOn-ondersteuning inschakelen. U ziet het volgende dialoogvenster Ondersteuning inschakelen voor AlwaysOn . Als dit menu-item is uitgeschakeld, controleert u of alle vereisten zijn geïnstalleerd en klikt u op Vernieuwen.

Ondersteuning voor AlwaysOn inschakelen

Waarschuwing

Automatische failover van de SSISDB-database wordt pas ondersteund als u SSIS-ondersteuning voor AlwaysOn inschakelt.

De zojuist toegevoegde secundaire replica's uit de AlwaysOn-beschikbaarheidsgroep worden weergegeven in de tabel. Klik op De knop Verbinding maken... voor elke replica in de lijst en voer verificatiereferenties in om verbinding te maken met de replica. Het gebruikersaccount moet lid zijn van de sysadmin-groep op elke replica om SSIS-ondersteuning voor AlwaysOn in te schakelen. Nadat u verbinding hebt gemaakt met elke replica, klikt u op OK om SSIS-ondersteuning in te schakelen voor AlwaysOn.

Als de optie AlwaysOn-ondersteuning inschakelen in het contextmenu wordt uitgeschakeld nadat u de andere vereisten hebt voltooid, kunt u het volgende proberen:

  1. Vernieuw het contextmenu door op de optie Vernieuwen te klikken.
  2. Zorg ervoor dat u verbinding maakt met het primaire knooppunt. U moet AlwaysOn-ondersteuning inschakelen op het primaire knooppunt.
  3. Zorg ervoor dat de SQL Server-versie 13.0 of hoger is. SSIS biedt alleen ondersteuning voor AlwaysOn in SQL Server 2016 en latere versies.

SSISDB bijwerken in een beschikbaarheidsgroep

Als u EEN upgrade uitvoert van SQL Server vanaf een eerdere versie en SSISDB zich in een AlwaysOn-beschikbaarheidsgroep bevindt, wordt uw upgrade mogelijk geblokkeerd door de regel 'SSISDB in AlwaysOn-beschikbaarheidsgroepscontrole'. Deze blokkering treedt op omdat de upgrade wordt uitgevoerd in de modus voor één gebruiker, terwijl een beschikbaarheidsdatabase een database met meerdere gebruikers moet zijn. Daarom worden tijdens het upgraden of patchen alle beschikbaarheidsdatabases met inbegrip van SSISDB offline gehaald en worden ze niet bijgewerkt of gepatcht. Als u wilt dat de upgrade wordt voortgezet, verwijdert u eerst SSISDB uit de beschikbaarheidsgroep, voert u een upgrade uit of patcht u vervolgens elk knooppunt bij en voegt u vervolgens SSISDB weer toe aan de beschikbaarheidsgroep.

Als u wordt geblokkeerd door de regel 'SSISDB in AlwaysOn-beschikbaarheidsgroep controleren', volgt u deze stappen om SQL Server bij te werken.

  1. Verwijder de SSISDB-database uit de beschikbaarheidsgroep. Zie Een secundaire database verwijderen uit een beschikbaarheidsgroep (SQL Server) en een primaire database verwijderen uit een beschikbaarheidsgroep (SQL Server) voor meer informatie.

  2. Klik op Opnieuw uitvoeren in de upgradewizard. De regel “SSISDB in Always On-beschikbaarheidsgroepcontrole” wordt goedgekeurd.

  3. Klik op Volgende om door te gaan met de upgrade.

  4. Nadat u alle knooppunten hebt bijgewerkt, voegt u de SSISDB-database weer toe aan de AlwaysOn-beschikbaarheidsgroep. Zie Een database toevoegen aan een beschikbaarheidsgroep (SQL Server) voor meer informatie.

Als u niet wordt geblokkeerd wanneer u SQL Server bijwerken en SSISDB zich in een AlwaysOn-beschikbaarheidsgroep bevindt, moet u SSISDB afzonderlijk bijwerken nadat u de SQL Server-database-engine hebt bijgewerkt. Gebruik de SSIS-upgradewizard om de SSISDB te upgraden, zoals beschreven in de volgende procedure.

  1. Verplaats de SSISDB-database uit de beschikbaarheidsgroep of verwijder de beschikbaarheidsgroep als SSISDB de enige database in de beschikbaarheidsgroep is. Start SQL Server Management Studio op het primaire knooppunt van de beschikbaarheidsgroep om deze taak uit te voeren.

  2. Verwijder de SSISDB-database uit alle replicaknooppunten.

  3. Werk de SSISDB-database bij op het primaire knooppunt. In SQL Server Management Studio, vouw Objectverkenner uit bij Integration Services-catalogi, klik met de rechtermuisknop op SSISDB en selecteer vervolgens Database-upgrade. Volg de instructies in de SSISDB-upgradewizard om de database bij te werken. Start de SSIDB-upgradewizard lokaal op het primaire knooppunt.

  4. Volg de instructies in stap 2: Voeg SSISDB toe aan een AlwaysOn-beschikbaarheidsgroep om de SSISDB weer toe te voegen aan een beschikbaarheidsgroep.

  5. Volg de instructies in stap 3: SSIS-ondersteuning inschakelen voor AlwaysOn.

SSISDB-catalogus en -delegering in scenario's met dubbele hop

Standaard biedt de externe aanroep van SSIS-pakketten die zijn opgeslagen in de SSISDB-catalogus geen ondersteuning voor de overdracht van referenties, ook wel een dubbele hop genoemd.

Stel u een scenario voor waarin een gebruiker zich aanmeldt bij clientcomputer A en SQL Server Management Studio (SSMS) start. Vanuit SSMS maakt de gebruiker verbinding met een SQL Server die wordt gehost op computer B, met de SSISDB-catalogus. Het SSIS-pakket wordt opgeslagen in deze SSISDB-catalogus en het pakket maakt op zijn beurt verbinding met een SQL Server-service die wordt uitgevoerd op computer C (het pakket heeft ook toegang tot andere services). Wanneer de gebruiker de uitvoering van het SSIS-pakket aanroept van machine A, geeft SSMS eerst de gebruikersreferenties van machine A door aan machine B (waarbij het SSIS-runtimeproces het pakket uitvoert). Het SSIS-uitvoeringsruntimeproces (ISServerExec.exe) is nu vereist om de gebruikersreferenties van machine B naar machine C te delegeren om de uitvoering te voltooien. Delegering van referenties is echter niet standaard ingeschakeld.

Een gebruiker kan de overdracht van referenties inschakelen door deze gebruiker de bevoegdheid te verlenen voor delegering aan elke service (alleen Kerberos) op het SQL Server-serviceaccount (op computer B), waarmee ISServerExec.exe wordt gestart als een subproces. Dit proces wordt aangeduid als het instellen van niet-getrainde delegering of open delegatie voor een SQL Server-serviceaccount. Voordat u dit recht verleent, moet u overwegen of het voldoet aan de beveiligingsvereisten van uw organisatie.

SSISDB biedt geen ondersteuning voor beperkte delegatie. Als in een dubbelhopomgeving het serviceaccount van de SQL Server die als host fungeert voor de SSISDB-catalogus (machine B in ons voorbeeld) is ingesteld voor beperkte delegering, kan ISServerExec.exe de referenties niet delegeren aan de derde machine (machine C). Dit is van toepassing op scenario's waarin Windows Credential Guard is ingeschakeld, waarvoor beperkte delegatie moet worden ingesteld.

Verwante inhoud