Zarządzanie pakietami za pomocą magazynu pakietów środowiska Azure-SSIS Integration Runtime

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Aby przenieść & obciążenia lokalnych usług SQL Server Integration Services (SSIS) do chmury, możesz aprowizować usługę Azure-SSIS Integration Runtime (IR) w usłudze Azure Data Factory (ADF). Aby uzyskać więcej informacji, zobacz Aprowizuj Azure-SSIS IR. Środowisko Azure-SSIS IR obsługuje:

  • Uruchamianie pakietów wdrożonych w wykazie usług SSIS (SSISDB) hostowanym przez serwer/wystąpienie zarządzane usługi Azure SQL Database (model wdrażania projektów)
  • Uruchamianie pakietów wdrożonych w systemie plików, usłudze Azure Files lub bazie danych programu SQL Server (MSDB) hostowanej przez usługę Azure SQL Managed Instance (model wdrażania pakietów)

W przypadku korzystania z modelu wdrażania pakietów możesz wybrać, czy chcesz aprowizować Azure-SSIS IR z magazynami pakietów. Zapewniają one warstwę zarządzania pakietami na podstawie systemu plików, Azure Files lub MSDB hostowanego przez Azure SQL Managed Instance. Azure-SSIS IR magazyn pakietów umożliwia importowanie/eksportowanie/usuwanie/uruchamianie pakietów i monitorowanie/zatrzymywanie uruchamiania pakietów za pośrednictwem SQL Server Management Studio (SSMS) podobnie jak w starszym magazynie pakietów SSIS.

Połączenie do Azure-SSIS IR

Po aprowizacji Azure-SSIS IR możesz nawiązać z nim połączenie, aby przeglądać jego magazyny pakietów w programie SSMS.

Connect to Azure-SSIS IR

W oknie Eksplorator obiektów programu SSMS wybierz pozycję Azure-SSIS Integration Runtime w menu rozwijanym Połączenie. Następnie zaloguj się do platformy Azure i wybierz odpowiednią subskrypcję, usługę ADF i Azure-SSIS IR, które zostały aprowidowane przy użyciu magazynów pakietów. Azure-SSIS IR pojawi się z węzłami Running Packages (Uruchomione pakiety) i Stored Packages (Przechowywane pakiety) poniżej. Rozwiń węzeł Przechowywane pakiety , aby wyświetlić pod spodem magazyny pakietów. Rozwiń magazyny pakietów, aby wyświetlić foldery i pakiety poniżej. Może zostać wyświetlony monit o wprowadzenie poświadczeń dostępu do magazynów pakietów, jeśli program SSMS nie może nawiązać z nimi połączenia automatycznie. Na przykład po rozwinięciu magazynu pakietów w witrynie MSDB może zostać wyświetlony monit o nawiązanie połączenia z Azure SQL Managed Instance.

Connect to Azure SQL Managed Instance

Zarządzanie folderami i pakietami

Po nawiązaniu połączenia z Azure-SSIS IR w programie SSMS możesz kliknąć prawym przyciskiem myszy wszystkie magazyny pakietów, foldery lub pakiety, aby wyskakować menu, a następnie wybrać polecenie Nowy folder, Importuj pakiet, Eksportuj pakiet, Usuń lub Odśwież.

Manage folders and packages

  • Wybierz pozycję Nowy folder , aby utworzyć nowy folder dla zaimportowanych pakietów.

  • Wybierz pozycję Importuj pakiet, aby zaimportować pakiety z systemu plików, SQL Server (MSDB) lub starszego magazynu pakietów SSIS do magazynu pakietów.

    Import Package

    W zależności od lokalizacji pakietu do zaimportowania wybierz odpowiedni typ ServerAuthentication/, wprowadź poświadczenia dostępu w razie potrzeby, wybierz ścieżkę pakietu i wprowadź nową nazwę pakietu. Podczas importowania pakietów nie można zmienić poziomu ochrony. Aby ją zmienić, użyj narzędzi SQL Server Data Tools (SSDT) lub dtutil narzędzia wiersza polecenia.

    Uwaga

    Importowanie pakietów SSIS do magazynów pakietów Azure-SSIS IR można wykonać tylko jeden po drugim i po prostu skopiować je do bazowego systemu plików MSDB/Azure Files przy zachowaniu ich SQL Server/SSIS.

    Ponieważ Azure-SSIS IR jest obecnie oparta na SQL Server 2017 r., wykonywanie na nim pakietów niższej wersji spowoduje uaktualnienie ich do pakietów SSIS 2017 w czasie wykonywania. Wykonywanie pakietów w wersji wyższej jest nieobsługiwane.

    Ponadto ze względu na to, że starsze magazyny pakietów usług SSIS są powiązane z określoną wersją SQL Server i są dostępne tylko w programie SSMS dla tej wersji, pakiety niższej wersji w starszych magazynach pakietów usług SSIS należy najpierw wyeksportować do systemu plików przy użyciu wyznaczonej wersji programu SSMS, zanim będzie można je zaimportować do Azure-SSIS IR magazynów pakietów przy użyciu programu SSMS 2019 lub nowszych wersji.

    Alternatywnie, aby zaimportować wiele pakietów SSIS do Azure-SSIS IR magazynów pakietów podczas przełączania poziomu ochrony, możesz użyć narzędzia wiersza polecenia dtutil, zobacz Wdrażanie wielu pakietów za pomocą narzędzia dtutil.

  • Wybierz pozycję Eksportuj pakiet, aby wyeksportować pakiety z magazynu pakietów do systemu plików, SQL Server (MSDB) lub starszego magazynu pakietów usług SSIS.

    Export Package

    W zależności od lokalizacji pakietu do wyeksportowania wybierz odpowiedni typ ServerAuthentication/, wprowadź poświadczenia dostępu w razie potrzeby i wybierz ścieżkę pakietu. Podczas eksportowania pakietów, jeśli są one szyfrowane, wprowadź hasła, aby je najpierw odszyfrować, a następnie można zmienić ich poziom ochrony, na przykład aby uniknąć przechowywania poufnych danych lub szyfrowania ich lub wszystkich danych przy użyciu klucza użytkownika lub hasła.

    Uwaga

    Eksportowanie pakietów usług SSIS z magazynów pakietów Azure-SSIS IR można wykonać tylko jeden po drugim. Bez przełączania poziomu ochrony po prostu skopiuje je przy zachowaniu ich SQL Server/SSIS, w przeciwnym razie uaktualni je do pakietów SSIS 2019 lub nowszych wersji.

    Ponieważ Azure-SSIS IR jest obecnie oparta na SQL Server 2017 r., wykonywanie na nim pakietów niższej wersji spowoduje uaktualnienie ich do pakietów SSIS 2017 w czasie wykonywania. Wykonywanie pakietów w wersji wyższej jest nieobsługiwane.

    Alternatywnie, aby wyeksportować wiele pakietów SSIS z Azure-SSIS IR magazynów pakietów podczas przełączania poziomu ochrony, możesz użyć narzędzia wiersza polecenia dtutil, zobacz Wdrażanie wielu pakietów za pomocą narzędzia dtutil.

  • Wybierz pozycję Usuń , aby usunąć istniejące foldery/pakiety z magazynu pakietów.

  • Wybierz pozycję Odśwież , aby wyświetlić nowo dodane foldery/pakiety w magazynie pakietów.

Wykonywanie pakietów

Po nawiązaniu połączenia z Azure-SSIS IR w programie SSMS możesz kliknąć prawym przyciskiem myszy wszystkie przechowywane pakiety, aby otworzyć menu i wybrać polecenie Uruchom pakiet. Spowoduje to otwarcie okna dialogowego Execute Package Utility (Wykonywanie narzędzia pakietu), w którym można skonfigurować wykonania pakietów w Azure-SSIS IR jako wykonywanie działań pakietu SSIS w potokach usługi ADF.

Execute Package Utility pages 1 & 2

Execute Package Utility pages 3 & 4

Strony Ogólne, Konfiguracje, Opcje wykonywania i Rejestrowanie okna dialogowego Execute Package Utility odpowiadają karcie Ustawienia działania Wykonaj pakiet SSIS. Na tych stronach możesz wprowadzić hasło szyfrowania dla pakietu i informacje o dostępie do pliku konfiguracji pakietu. Możesz również wprowadzić poświadczenia i właściwości wykonywania pakietu, a także informacje o dostępie do folderu dziennika. Strona Ustawianie wartości okna dialogowego Wykonaj narzędzie pakietu odpowiada karcie Przesłonięcia właściwości działania Wykonaj pakiet SSIS, gdzie można wprowadzić istniejące właściwości pakietu, aby zastąpić. Aby uzyskać więcej informacji, zobacz Run SSIS packages as Execute SSIS Package activities in ADF pipelines (Uruchamianie pakietów usług SSIS jako wykonywanie działań pakietu SSIS w potokach usługi ADF).

Po wybraniu przycisku Wykonaj nowy potok usługi ADF z działaniem Wykonaj pakiet SSIS zostanie automatycznie wygenerowany i wyzwolony. Jeśli potok usługi ADF z tymi samymi ustawieniami już istnieje, zostanie on ponownie uruchomiony, a nowy potok nie zostanie wygenerowany. Potok usługi ADF i działanie Wykonaj pakiet SSIS będzie mieć odpowiednio nazwy Pipeline_SSMS_YourPackageName_HashString i Activity_SSMS_YourPackageName.

Execute Package Utility button

Execute SSIS Package activity

Monitorowanie i zatrzymywanie uruchamiania pakietów

Po nawiązaniu połączenia z Azure-SSIS IR w programie SSMS możesz rozwinąć węzeł Uruchomione pakiety, aby wyświetlić aktualnie uruchomione pakiety poniżej. Kliknij prawym przyciskiem myszy dowolny z nich, aby otworzyć menu, a następnie wybierz polecenie Zatrzymaj lub Odśwież.

Monitor and stop running packages

  • Wybierz pozycję Zatrzymaj , aby anulować aktualnie uruchomiony potok usługi ADF, który uruchamia pakiet jako działanie Wykonaj pakiet SSIS.

  • Wybierz pozycję Odśwież , aby wyświetlić nowo uruchomione pakiety z magazynów pakietów.

Monitorowanie Azure-SSIS IR i edytowanie magazynów pakietów

Po nawiązaniu połączenia z Azure-SSIS IR w programie SSMS możesz kliknąć je prawym przyciskiem myszy, aby otworzyć menu i wybrać polecenie Przejdź do portalu Azure Data Factory lub Odśwież.

Go to ADF portal

  • Wybierz pozycję Przejdź do portalu Azure Data Factory, aby otworzyć stronę Środowiska Integration Runtime w centrum monitorowania usługi ADF, w którym można monitorować Azure-SSIS IR. Na kafelku MAGAZYNY PAKIETÓW można zobaczyć liczbę magazynów pakietów dołączonych do Azure-SSIS IR. Wybranie tej liczby spowoduje wyskakujące okno, w którym można edytować połączone usługi ADF, które przechowują informacje o dostępie do magazynów pakietów.

    Edit package stores

  • Wybierz pozycję Odśwież , aby wyświetlić nowo dodane foldery/pakiety w magazynach pakietów i uruchamiać pakiety z magazynów pakietów.

Wdrażanie wielu pakietów za pomocą narzędzia dtutil

Aby przenieść & lokalne obciążenia usług SSIS na usługę SSIS w usłudze ADF przy zachowaniu starszego modelu wdrażania pakietów, należy wdrożyć pakiety z systemu plików, msdb hostowanego przez SQL Server lub starsze magazyny pakietów usług SSIS w Azure Files, MSDB hostowane przez Azure SQL Managed Instance lub Azure-SSIS IR magazyny pakietów. W tym samym czasie należy również przełączyć poziom ochrony z szyfrowania według klucza użytkownika na niezaszyfrowany lub szyfrowanie przez hasło, jeśli jeszcze tego nie zrobiono.

Możesz użyć narzędzia wiersza polecenia dtutil dostarczanego z instalacją SQL Server/SSIS w celu wdrożenia wielu pakietów w partiach. Jest ona powiązana z określoną wersją usług SSIS, więc jeśli używasz jej do wdrażania pakietów niższej wersji bez przełączania poziomu ochrony, po prostu skopiuje je przy zachowaniu ich wersji usług SSIS. Jeśli używasz go do wdrażania i przełączania ich poziomu ochrony w tym samym czasie, uaktualni je do wersji usług SSIS.

Ponieważ Azure-SSIS IR jest obecnie oparta na SQL Server 2017 r., wykonywanie na nim pakietów niższej wersji spowoduje uaktualnienie ich do pakietów SSIS 2017 w czasie wykonywania. Wykonywanie pakietów w wersji wyższej jest nieobsługiwane.

W związku z tym, aby uniknąć uaktualnień w czasie wykonywania, wdrażanie pakietów do uruchamiania na Azure-SSIS IR w modelu wdrażania pakietów powinno używać narzędzia dtutil 2017 dostarczanego z instalacją SQL Server/SSIS 2017. W tym celu możesz pobrać i zainstalować bezpłatną SQL Server/SSIS 2017 Developer Edition. Po zainstalowaniu narzędzia dtutil 2017 można znaleźć w tym folderze: YourLocalDrive:\Program Files\Microsoft SQL Server\140\DTS\Binn.

Wdrażanie wielu pakietów z systemu plików w środowisku lokalnym w Azure Files za pomocą narzędzia dtutil

Aby wdrożyć wiele pakietów z systemu plików do Azure Files i przełączyć ich poziom ochrony w tym samym czasie, możesz uruchomić następujące polecenia w wierszu polecenia. Zastąp wszystkie ciągi specyficzne dla Twojego przypadku.

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

Aby uruchomić powyższe polecenia w pliku wsadowym, zastąp ciąg %f ciągiem %%f.

Aby wdrożyć wiele pakietów ze starszych magazynów pakietów SSIS w systemie plików w Azure Files i przełączyć ich poziom ochrony w tym samym czasie, możesz użyć tych samych poleceń, ale zastąpić YourLocalDrive:\...\YourPackageFolder folderem lokalnym używanym przez starsze magazyny pakietów SSIS: YourLocalDrive:\Program Files\Microsoft SQL Server\YourSQLServerDefaultCompatibilityLevel\DTS\Packages\YourPackageFolder. Jeśli na przykład starszy magazyn pakietów usług SSIS jest powiązany z SQL Server 2016 r., przejdź do YourLocalDrive:\Program Files\Microsoft SQL Server\130\DTS\Packages\YourPackageFolderstrony . Wartość parametru YourSQLServerDefaultCompatibilityLevel można znaleźć na liście SQL Server domyślnych poziomów zgodności.

Jeśli skonfigurowano magazyny pakietów Azure-SSIS IR na podstawie Azure Files, wdrożone pakiety będą wyświetlane podczas nawiązywania połączenia z Azure-SSIS IR w programie SSMS 2019 lub nowszym.

Wdrażanie wielu pakietów ze środowiska MSDB lokalnie w witrynie MSDB na platformie Azure przy użyciu narzędzia dtutil

Aby wdrożyć wiele pakietów z witryny MSDB hostowanej przez SQL Server lub starsze magazyny pakietów SSIS w witrynie MSDB hostowanej przez Azure SQL Managed Instance i przełączyć ich poziom ochrony w tym samym czasie, możesz nawiązać połączenie z SQL Server w programie SSMS, kliknij prawym przyciskiem myszy Databases->System Databases->msdb węzeł na Eksplorator obiektów programu SSMS, aby otworzyć okno Nowe zapytanie i uruchomić następujący skrypt T-SQL. Zastąp wszystkie ciągi specyficzne dla Twojego przypadku:

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

Aby użyć prywatnego/publicznego punktu końcowego Azure SQL Managed Instance, zastąp odpowiednio YourSQLManagedInstanceEndpoint ciąg , .YourSQLMIName.YourDNSPrefix.database.windows.net/YourSQLMIName.public.YourDNSPrefix.database.windows.net,3342

Skrypt wygeneruje wiersze polecenia dtutil dla wszystkich pakietów w witrynie MSDB, które można wybrać, skopiować & wklej i uruchomić w wierszu polecenia.

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

Jeśli skonfigurowano magazyny pakietów Azure-SSIS IR w oparciu o usługę MSDB, wdrożone pakiety będą wyświetlane po nawiązaniu połączenia z Azure-SSIS IR w programie SSMS 2019 lub nowszym.

Wdrażanie wielu pakietów ze środowiska MSDB lokalnie w Azure Files za pomocą narzędzia dtutil

Aby wdrożyć wiele pakietów z witryny MSDB hostowanej przez SQL Server lub starsze magazyny pakietów SSIS na platformie MSDB w Azure Files i przełączyć ich poziom ochrony w tym samym czasie, możesz połączyć się z SQL Server w programie SSMS, kliknij prawym przyciskiem myszy Databases->System Databases->msdb węzeł w Eksplorator obiektów programu SSMS, aby otworzyć nowe zapytanie w oknie i uruchom następujący skrypt T-SQL. Zastąp wszystkie ciągi specyficzne dla Twojego przypadku:

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

Skrypt wygeneruje wiersze polecenia dtutil dla wszystkich pakietów w witrynie MSDB, które można wybrać, skopiować & wklej i uruchomić w wierszu polecenia.

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

Jeśli skonfigurowano magazyny pakietów Azure-SSIS IR w oparciu o Azure Files, wdrożone pakiety będą wyświetlane w nich podczas nawiązywania połączenia z Azure-SSIS IR w programie SSMS 2019 lub nowszym.

Następne kroki

Możesz ponownie uruchomić/edytować automatycznie wygenerowane potoki usługi ADF za pomocą polecenia Wykonaj działania pakietu SSIS lub utworzyć nowe w portalu usługi ADF. Aby uzyskać więcej informacji, zobacz Uruchamianie pakietów SSIS jako wykonywanie działań pakietu SSIS w potokach usługi ADF.