Hantera paket med Azure-SSIS Integration Runtime-paketlagring

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Om du vill lyfta och flytta dina lokala arbetsbelastningar för SQL Server Integration Services (SSIS) till molnet kan du etablera Azure-SSIS Integration Runtime (IR) i Azure Data Factory (ADF). Mer information finns i Etablera en Azure-SSIS IR. En Azure-SSIS IR stöder:

  • Körning av paket som distribuerats till SSIS-katalog (SSISDB) med Azure SQL Database-server/Managed Instance som värd (projektdistributionsmodell)
  • Körning av paket som distribuerats till filsystem, Azure Files eller SQL Server-databas (MSDB) med Azure SQL Managed Instance som värd (paketdistributionsmodell)

När du använder paketdistributionsmodellen kan du välja om du vill etablera din Azure-SSIS IR med paketlager. De tillhandahåller ett pakethanteringslager ovanpå filsystemet, Azure Files eller MSDB som hanteras av Azure SQL Managed Instance. Med Azure-SSIS IR-paketarkivet kan du importera/exportera/ta bort/köra paket och övervaka/sluta köra paket via SQL Server Management Studio (SSMS) som liknar det äldre SSIS-paketarkivet.

Anslut till Azure-SSIS IR

När din Azure-SSIS IR har etablerats kan du ansluta till den för att bläddra i dess paketlager på SSMS.

Connect to Azure-SSIS IR

I fönstret Object Explorer i SSMS väljer du Azure-SSIS Integration Runtime i listrutan Anslut. Logga sedan in på Azure och välj den relevanta prenumeration, ADF och Azure-SSIS IR som du har etablerat med paketlager. Din Azure-SSIS IR visas med noder som kör paket och lagrade paket under. Expandera noden Lagrade paket för att se dina paketlager under. Expandera dina paketlager för att se mappar och paket under. Du kan bli ombedd att ange autentiseringsuppgifterna för dina paketlager om SSMS inte kan ansluta till dem automatiskt. Om du till exempel expanderar ett paketarkiv ovanpå MSDB kan du bli ombedd att ansluta till din Azure SQL Managed Instance först.

Connect to Azure SQL Managed Instance

Hantera mappar och paket

När du har anslutit till din Azure-SSIS IR på SSMS kan du högerklicka på alla paketlager, mappar eller paket för att öppna en meny och välja Ny mapp, Importera paket, Exportera paket, Ta bort eller Uppdatera.

Manage folders and packages

  • Välj Ny mapp för att skapa en ny mapp för importerade paket.

  • Välj Importera paket för att importera paket från Filsystem, SQL Server (MSDB) eller det äldre SSIS-paketarkivet till paketarkivet.

    Import Package

    Beroende på vilken paketplats du ska importera från väljer du relevant typ av serverautentisering/, anger autentiseringsuppgifterna för åtkomst om det behövs, väljer sökvägen Paket och anger det nya paketnamnet. När du importerar paket kan deras skyddsnivå inte ändras. Om du vill ändra det använder du SQL Server Data Tools (SSDT) eller dtutil kommandoradsverktyget.

    Kommentar

    Import av SSIS-paket till Azure-SSIS IR-paketlager kan bara göras en i taget och kopiera dem helt enkelt till den underliggande MSDB/filsystemet/Azure Files samtidigt som deras SQL Server/SSIS-version bevaras.

    Eftersom Azure-SSIS IR för närvarande baseras på SQL Server 2017 uppgraderas paket med lägre version till SSIS 2017-paket vid körning. Det går inte att köra paket med högre version.

    Eftersom äldre SSIS-paketlager är bundna till en specifik SQL Server-version och endast är tillgängliga på SSMS för den versionen, måste paket med lägre version i äldre SSIS-paketlager exporteras till filsystemet först med den avsedda SSMS-versionen innan de kan importeras till Azure-SSIS IR-paketlager med hjälp av SSMS 2019 eller senare versioner.

    Om du vill importera flera SSIS-paket till Azure-SSIS IR-paketlager när du byter skyddsnivå kan du också använda kommandoradsverktyget dtutil , se Distribuera flera paket med dtutil.

  • Välj Exportera paket för att exportera paket från paketarkivet till Filsystem, SQL Server (MSDB) eller det äldre SSIS-paketarkivet.

    Export Package

    Beroende på vilken paketplats du ska exportera till väljer du relevant typ av serverautentisering/, anger autentiseringsuppgifterna för åtkomst om det behövs och väljer sökvägen Paket. När du exporterar paket, om de är krypterade, anger du lösenorden för att dekryptera dem först och sedan kan du ändra deras skyddsnivå, till exempel för att undvika att lagra känsliga data eller kryptera dem eller alla data med användarnyckel eller lösenord.

    Kommentar

    Export av SSIS-paket från Azure-SSIS IR-paketlager kan bara göras en i taget och om du inte byter skyddsnivå kopieras de bara samtidigt som sql Server/SSIS-versionen bevaras, annars uppgraderas de till SSIS 2019- eller senare versioner.

    Eftersom Azure-SSIS IR för närvarande baseras på SQL Server 2017 uppgraderas paket med lägre version till SSIS 2017-paket vid körning. Det går inte att köra paket med högre version.

    Om du vill exportera flera SSIS-paket från Azure-SSIS IR-paketlager när du byter skyddsnivå kan du också använda kommandoradsverktyget dtutil , se Distribuera flera paket med dtutil.

  • Välj Ta bort för att ta bort befintliga mappar/paket från paketarkivet.

  • Välj Uppdatera för att visa nyligen tillagda mappar/paket i paketarkivet.

Köra paket

När du har anslutit till din Azure-SSIS IR på SSMS kan du högerklicka på alla lagrade paket för att öppna en meny och välja Kör paket. Då öppnas dialogrutan Kör paketverktyg , där du kan konfigurera dina paketkörningar på Azure-SSIS IR som Kör SSIS-paketaktiviteter i ADF-pipelines.

Execute Package Utility pages 1 & 2

Execute Package Utility pages 3 & 4

Dialogrutan Allmänt, Konfigurationer, Körningsalternativ och Loggning i dialogrutan Kör paketverktyg motsvarar fliken Inställningar i Aktiviteten Kör SSIS-paket. På dessa sidor kan du ange krypteringslösenordet för paketet och få åtkomst till information för paketkonfigurationsfilen. Du kan också ange dina autentiseringsuppgifter och egenskaper för paketkörning samt åtkomstinformationen för loggmappen. Sidan Ange värden i dialogrutan Kör paketverktyg motsvarar fliken Egenskaps åsidosättningar i Aktiviteten Kör SSIS-paket, där du kan ange dina befintliga paketegenskaper som ska åsidosättas . Mer information finns i Köra SSIS-paket som Kör SSIS-paketaktiviteter i ADF-pipelines.

När du väljer knappen Kör genereras och utlöses automatiskt en ny ADF-pipeline med aktiviteten Execute SSIS Package (Kör SSIS-paket). Om det redan finns en ADF-pipeline med samma inställningar körs den igen och en ny pipeline genereras inte. Aktiviteten ADF-pipeline och Execute SSIS Package namnges Pipeline_SSMS_YourPackageName_HashString respektive Activity_SSMS_YourPackageName.

Execute Package Utility button

Execute SSIS Package activity

Övervaka och sluta köra paket

När du har anslutit till din Azure-SSIS IR på SSMS kan du expandera noden Kör paket för att se dina paket som körs under. Högerklicka på någon av dem för att öppna en meny och välj Stoppa eller Uppdatera.

Monitor and stop running packages

  • Välj Stoppa för att avbryta den ADF-pipeline som körs för tillfället och som kör paketet som Kör SSIS-paketaktivitet.

  • Välj Uppdatera för att visa paket som nyligen körts från dina paketlager.

Övervaka Azure-SSIS IR och redigera paketlager

När du har anslutit till din Azure-SSIS IR på SSMS kan du högerklicka på den för att öppna en meny och välja Gå till Azure Data Factory-portalen eller Uppdatera.

Go to ADF portal

  • Välj Gå till Azure Data Factory-portalen för att öppna sidan Integreringskörningar i ADF-övervakningshubben , där du kan övervaka din Azure-SSIS IR. På panelen PAKETARKIV kan du se antalet paketlager som är kopplade till din Azure-SSIS IR. Om du väljer det numret visas ett fönster där du kan redigera ADF-länkade tjänster som lagrar åtkomstinformationen för dina paketlager.

    Edit package stores

  • Välj Uppdatera om du vill visa nyligen tillagda mappar/paket i dina paketlager och köra paket från dina paketlager.

Distribuera flera paket med dtutil

Om du vill lyfta och flytta dina lokala SSIS-arbetsbelastningar till SSIS i ADF samtidigt som du underhåller den äldre paketdistributionsmodellen måste du distribuera dina paket från filsystemet, MSDB som hanteras av SQL Server eller äldre SSIS-paketlager till Azure Files, MSDB som hanteras av Azure SQL Managed Instance eller Azure-SSIS IR-paketlager. Samtidigt bör du också växla deras skyddsnivå från kryptering efter användarnyckel till okrypterad eller kryptering med lösenord om du inte redan har gjort det.

Du kan använda kommandoradsverktyget dtutil som medföljer SQL Server/SSIS-installationen för att distribuera flera paket i batchar. Den är bunden till en specifik SSIS-version, så om du använder den för att distribuera paket med lägre version utan att byta skyddsnivå kopieras de helt enkelt samtidigt som deras SSIS-version bevaras. Om du använder den för att distribuera dem och växla deras skyddsnivå samtidigt uppgraderas de till dess SSIS-version.

Eftersom Azure-SSIS IR för närvarande baseras på SQL Server 2017 uppgraderas paket med lägre version till SSIS 2017-paket vid körning. Det går inte att köra paket med högre version.

För att undvika körningsuppgraderingar bör därför distribution av paket som ska köras på Azure-SSIS IR i paketdistributionsmodellen använda dtutil 2017 som medföljer installationen av SQL Server/SSIS 2017. Du kan ladda ned och installera den kostnadsfria SQL Server/SSIS 2017 Developer Edition för detta ändamål. När du har installerat kan du hitta dtutil 2017 i den här mappen: YourLocalDrive:\Program Files\Microsoft SQL Server\140\DTS\Binn.

Distribuera flera paket från filsystemet lokalt till Azure Files med dtutil

Om du vill distribuera flera paket från filsystemet till Azure Files och byta skyddsnivå samtidigt kan du köra följande kommandon i en kommandotolk. Ersätt alla strängar som är specifika för ditt ärende.

REM Persist the access credentials for Azure Files on your local machine
cmdkey /ADD:YourStorageAccountName.file.core.windows.net /USER:azure\YourStorageAccountName /PASS:YourStorageAccountKey

REM Connect Azure Files to a drive on your local machine
net use Z: \\YourStorageAccountName.file.core.windows.net\YourFileShare /PERSISTENT:Yes

REM Go to a local folder where you store your packages
cd YourLocalDrive:\...\YourPackageFolder

REM Run dtutil in a loop to deploy your packages from the local folder into Azure Files while switching their protection level
for %f in (*.dtsx) do dtutil.exe /FILE %f /ENCRYPT FILE;Z:\%f;2;YourEncryptionPassword

Om du vill köra kommandona ovan i en batchfil ersätter du %f med %%f.

Om du vill distribuera flera paket från äldre SSIS-paketlager ovanpå filsystemet till Azure Files och växla deras skyddsnivå samtidigt kan du använda samma kommandon, men ersätta YourLocalDrive:\...\YourPackageFolder med en lokal mapp som används av äldre SSIS-paketlager: YourLocalDrive:\Program Files\Microsoft SQL Server\YourSQLServerDefaultCompatibilityLevel\DTS\Packages\YourPackageFolder. Om ditt äldre SSIS-paketarkiv till exempel är bundet till SQL Server 2016 går du till YourLocalDrive:\Program Files\Microsoft SQL Server\130\DTS\Packages\YourPackageFolder. Du hittar värdet för från en lista över standardkompatibilitetsnivåer för YourSQLServerDefaultCompatibilityLevel SQL Server.

Om du har konfigurerat Azure-SSIS IR-paketlager ovanpå Azure Files visas dina distribuerade paket i dem när du ansluter till din Azure-SSIS IR på SSMS 2019 eller senare versioner.

Distribuera flera paket från MSDB lokalt till MSDB i Azure med dtutil

Om du vill distribuera flera paket från MSDB som hanteras av SQL Server eller äldre SSIS-paketlager ovanpå MSDB till MSDB som hanteras av Azure SQL Managed Instance och växla deras skyddsnivå samtidigt, kan du ansluta till din SQL Server på SSMS, högerklicka på Databases->System Databases->msdb noden i Object Explorer of SSMS för att öppna ett nytt frågefönster . och kör följande T-SQL-skript. Ersätt alla strängar som är specifika för ditt ärende:

BEGIN
  SELECT 'dtutil /SQL '+f.foldername+'\'+NAME+' /ENCRYPT SQL;'+f.foldername+'\'+NAME+';2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourSQLAuthUsername /DestPassword YourSQLAuthPassword'
  FROM msdb.dbo.sysssispackages p
  inner join msdb.dbo.sysssispackagefolders f
  ON p.folderid = f.folderid
END

Om du vill använda den privata/offentliga slutpunkten för din Azure SQL Managed Instance ersätter YourSQLManagedInstanceEndpoint du med YourSQLMIName.YourDNSPrefix.database.windows.net/YourSQLMIName.public.YourDNSPrefix.database.windows.net,3342, respektive.

Skriptet genererar dtutil-kommandorader för alla paket i MSDB som du kan välja flera, kopiera och klistra in och köra i en kommandotolk.

Generate dtutil command lines

dtutil /SQL YourFolder\YourPackage1 /ENCRYPT SQL;YourFolder\YourPackage1;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword
dtutil /SQL YourFolder\YourPackage2 /ENCRYPT SQL;YourFolder\YourPackage2;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword
dtutil /SQL YourFolder\YourPackage3 /ENCRYPT SQL;YourFolder\YourPackage3;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword

Om du har konfigurerat Azure-SSIS IR-paketlager ovanpå MSDB visas dina distribuerade paket i dem när du ansluter till din Azure-SSIS IR på SSMS 2019 eller senare versioner.

Distribuera flera paket från MSDB lokalt till Azure Files med dtutil

Om du vill distribuera flera paket från MSDB som hanteras av SQL Server eller äldre SSIS-paketlager ovanpå MSDB till Azure Files och växla deras skyddsnivå samtidigt kan du ansluta till SQL Server på SSMS, högerklicka på Databases->System Databases->msdb noden i Object Explorer of SSMS för att öppna ett nytt frågefönster och köra följande T-SQL-skript. Ersätt alla strängar som är specifika för ditt ärende:

BEGIN
  SELECT 'dtutil /SQL '+f.foldername+'\'+NAME+' /ENCRYPT FILE;Z:\'+f.foldername+'\'+NAME+'.dtsx;2;YourEncryptionPassword' 
  FROM msdb.dbo.sysssispackages p
  inner join msdb.dbo.sysssispackagefolders f
  ON p.folderid = f.folderid
END

Skriptet genererar dtutil-kommandorader för alla paket i MSDB som du kan välja flera, kopiera och klistra in och köra i en kommandotolk.

REM Persist the access credentials for Azure Files on your local machine
cmdkey /ADD:YourStorageAccountName.file.core.windows.net /USER:azure\YourStorageAccountName /PASS:YourStorageAccountKey

REM Connect Azure Files to a drive on your local machine
net use Z: \\YourStorageAccountName.file.core.windows.net\YourFileShare /PERSISTENT:Yes

REM Multiselect, copy & paste, and run the T-SQL-generated dtutil command lines to deploy your packages from MSDB on premises into Azure Files while switching their protection level
dtutil /SQL YourFolder\YourPackage1 /ENCRYPT FILE;Z:\YourFolder\YourPackage1.dtsx;2;YourEncryptionPassword
dtutil /SQL YourFolder\YourPackage2 /ENCRYPT FILE;Z:\YourFolder\YourPackage2.dtsx;2;YourEncryptionPassword
dtutil /SQL YourFolder\YourPackage3 /ENCRYPT FILE;Z:\YourFolder\YourPackage3.dtsx;2;YourEncryptionPassword

Om du har konfigurerat Azure-SSIS IR-paketlager ovanpå Azure Files visas dina distribuerade paket i dem när du ansluter till din Azure-SSIS IR på SSMS 2019 eller senare versioner.

Du kan köra/redigera de automatiskt genererade ADF-pipelines med Kör SSIS-paketaktiviteter eller skapa nya på ADF-portalen. Mer information finns i Köra SSIS-paket som Kör SSIS-paketaktiviteter i ADF-pipelines.