Rozszerzenie DevOps dla Azure usługi SQL Server Integration Services (SSIS)
rozszerzenie SSIS DevOps Tools jest dostępne w witrynie Azure DevOps Marketplace. Usługa SSIS DevOps obsługuje Azure DevOps Services, Azure DevOps Server 2019 i wyższą wersję.
Jeśli nie masz organizacji usługi
Narzędzia SSIS DevOps obejmują zadanie kompilacji SSIS, zadanie wydania wdrożenia SSIS oraz zadanie konfiguracji katalogu SSIS.
zadanie SSIS Build obsługuje tworzenie plików dtproj w modelu wdrażania projektu lub modelu wdrażania pakietów.
zadanie wdrożenia usług SSIS obsługuje wdrażanie pojedynczych lub wielu plików .ispac do lokalnego katalogu SSIS i Azure-SSIS IR lub plików SSISDeploymentManifest oraz ich skojarzonych plików do lokalnego katalogu lub udostępnionego zasobu plików na platformie Azure.
zadanie konfiguracji katalogu SSIS wspiera konfigurowanie folderu/projektu/środowiska katalogu SSIS za pomocą pliku konfiguracji w formacie JSON. To zadanie obsługuje następujące scenariusze:
- Folder
- Utwórz folder.
- Zaktualizuj opis folderu.
- Projekt
- Skonfiguruj wartość parametrów, obsługiwane są zarówno wartości literału, jak i wartości przywoływane.
- Dodaj odwołania do środowiska.
- Środowisko
- Tworzenie środowiska.
- Zaktualizuj opis środowiska.
- Utwórz lub zaktualizuj zmienną środowiskową.
- Folder
Zadanie kompilacji usług SSIS
Właściwości
Ścieżka projektu
Ścieżka folderu lub pliku projektu do skompilowania. Jeśli zostanie określona ścieżka folderu, zadanie kompilacji SSIS będzie przeszukiwać wszystkie pliki dtproj rekursywnie w tym folderze i skompilować je wszystkie.
Ścieżka projektu nie może być pusta; ustaw jako , aby skompilować z folderu głównego repozytorium.
Konfiguracja projektu
Nazwa konfiguracji projektu, która ma być używana do kompilacji. Jeśli nie zostanie podana, zostanie ona domyślnie ustawiona na pierwszą zdefiniowaną konfigurację projektu w każdym pliku dtproj.
Ścieżka wyjściowa
Ścieżka do oddzielnego folderu do zapisywania wyników kompilacji, które można opublikować jako artefakt kompilacji za pośrednictwem zadania publikowania artefaktów kompilacji .
Ograniczenia i znane problemy
Zadanie SSIS Build opiera się na programie Visual Studio i projektancie usług SSIS, który jest obowiązkowy dla agentów kompilacji. Aby uruchomić zadanie kompilacji SSIS w potoku:
- W przypadku agentów hostowanych przez Microsoft należy wybrać dostępny obraz zawierający Visual Studio i rozszerzenie SQL Server Integration Services; na przykład: windows-2022. Aby uzyskać szczegółowe informacje, zapoznaj się z dokumentacją na temat agentów hostowanych przez firmę Microsoft dla oprogramowania zawartego w dostępnych obrazach.
- dla własnych agentów zainstaluj program Visual Studio i rozszerzenie Projektów SSIS (VS2022 + rozszerzenie SSIS Projects lub VS2019 + rozszerzenie SSIS Projects) na własnych agentach.
Aby tworzyć projekty SSIS przy użyciu dowolnych komponentów gotowych do użycia (w tym pakietu funkcji SSIS dla Azure oraz innych komponentów firm trzecich), te gotowe komponenty muszą być zainstalowane na maszynie, na której działa agent potoku. W przypadku agenta hostowanego przez Microsoft użytkownik może dodać zadanie skryptu programu PowerShell lub zadanie skryptu wiersza polecenia , aby pobrać i zainstalować składniki przed wykonaniem zadania kompilacji SSIS. Poniżej przedstawiono przykładowy skrypt programu PowerShell do zainstalowania pakietu 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
- Poziom ochrony EncryptSensitiveWithPassword i EncryptAllWithPassword nie jest obsługiwany w zadaniu kompilacji SSIS. Upewnij się, że wszystkie projekty SSIS w bazie kodu nie korzystają z tych dwóch poziomów ochrony, ponieważ w przeciwnym razie zadanie SSIS Build przestanie odpowiadać i upłynie limit czasu podczas wykonywania.
Zadanie kompilacji SSIS w wersji 1.*
Ulepszenia w wersji 1.*:
Usuń zależność od programu Visual Studio i projektanta SSIS. Zadanie kompilacji może być uruchamiane w ramach agenta hostowanego przez firmę Microsoft lub własnego agenta z systemem operacyjnym Windows i programem .NET Framework 4.6.2 lub nowszym.
Nie trzeba instalować komponentów gotowych do użycia.
Obsługa poziomu ochrony SzyfrowanieZHasłem i SzyfrowanieWszystkichZHasłem.
Ograniczenia i znane problemy
- Zadanie SSIS Build w wersji 1.* nie obsługuje kompilowania projektu SSIS zawierającego pakiet SSIS z podpisem cyfrowym.
Tylko właściwości wersji 1.*
Hasło projektu
Hasło projektu SSIS i jego pakietów. Ten argument jest prawidłowy tylko wtedy, gdy poziom ochrony projektu SSIS i pakiety to EncryptSensitiveWithPassword lub EncryptAllWithPassword. W przypadku modelu wdrażania pakietów wszystkie pakiety muszą współużytkować to samo hasło określone przez ten argument.
Usuwanie poufnych danych
Przekonwertuj poziom ochrony projektu SSIS na wartość DontSaveSensitive, jeśli ta wartość ma wartość true. Jeśli poziom ochrony to EncryptSensitiveWithPassword lub EncryptAllWithPassword, argument Hasło projektu musi być poprawnie ustawiony. Ta opcja jest prawidłowa tylko w przypadku modelu wdrażania projektu.
Zadanie wdrażania usług SSIS
Właściwości
Ścieżka źródłowa
Ścieżka źródłowych plików ISPAC lub SSISDeploymentManifest, które chcesz wdrożyć. Ta ścieżka może być ścieżką folderu lub ścieżką pliku.
Typ miejsca docelowego
Typ miejsca docelowego. Obecnie zadanie wdrażania SSIS obsługuje dwa typy:
- system plików: wdróż pliki SSISDeploymentManifest i skojarzone z nimi pliki w określonym systemie plików. Obsługiwane są zarówno lokalne udziały plików, jak i udziały plików Azure.
- SSISDB: wdrażaj pliki ISPAC w określonym katalogu usługi SSIS, które mogą być hostowane na lokalnym serwerze SQL Server lub Azure-SSIS Integration Runtime.
Serwer docelowy
Nazwa docelowego silnika bazy danych. Może to być nazwa lokalnego programu SQL Server, usługi Azure SQL Database lub usługi Azure SQL Managed Instance. Ta właściwość jest widoczna tylko wtedy, gdy typ docelowy to SSISDB.
Ścieżka docelowa
Ścieżka folderu docelowego, w którym zostanie wdrożony plik źródłowy. Na przykład:
- /SSISDB/<folderName>
- \\<machineName>\<shareFolderName>\<optionalSubfolderName>
Zadanie wdrażania SSIS utworzy folder i podfolder, jeśli one nie istnieją.
Typ uwierzytelniania
Typ uwierzytelniania w celu uzyskania dostępu do określonego serwera docelowego. Ta właściwość jest widoczna tylko wtedy, gdy typ docelowy to SSISDB. Ogólnie poniżej obsługiwane są typy uwierzytelniania:
- Uwierzytelnianie systemu Windows
- Uwierzytelnianie programu SQL Server
- Active Directory — hasło
- Active Directory — zintegrowana
Jednak to, czy dany typ uwierzytelniania jest obsługiwany, zależy od typu serwera docelowego i typu agenta. Macierz wsparcia jest wymieniona w poniższej tabeli.
Typ serwera docelowego | Agent hostowany przez firmę Microsoft | Agent hostowany samodzielnie |
---|---|---|
Lokalny program SQL Server lub maszyna wirtualna | N/A | Uwierzytelnianie systemu Windows |
Azure SQL | Uwierzytelnianie programu SQL Server Active Directory — hasło |
Uwierzytelnianie programu SQL Server Active Directory — hasło Active Directory — zintegrowana |
Nazwa domeny
Nazwa domeny w celu uzyskania dostępu do określonego systemu plików. Ta właściwość jest widoczna tylko wtedy, gdy typ docelowy to System plików. Można pozostawić to pole puste, gdy konto użytkownika używane do uruchomienia własnego agenta uzyskało dostęp do odczytu i zapisu w określonej ścieżce docelowej.
Nazwa użytkownika
Nazwa użytkownika, aby uzyskać dostęp do określonego systemu plików lub bazy danych SSISDB. Ta właściwość jest widoczna, gdy typ docelowy to System plików lub Typ uwierzytelniania to Uwierzytelnianie programu SQL Server lub Active Directory — hasło. Można pozostawić go pusty, gdy typ docelowy jest systemem plików, a konto użytkownika do uruchomienia własnego agenta otrzymało dostęp do odczytu/zapisu do określonej ścieżki docelowej.
Hasło
Hasło dostępu do określonego systemu plików lub SSISDB. Ta właściwość jest widoczna, gdy typ docelowy to system plików lub typ uwierzytelniania to uwierzytelnianie programu SQL Server lub usługa Active Directory — hasło. Można pozostawić go pusty, gdy typ docelowy to system plików, a konto użytkownika do uruchomienia własnego agenta otrzymało dostęp do odczytu/zapisu do określonej ścieżki docelowej.
Zastąp istniejące projekty lub pliki SSISDeploymentManifest o tych samych nazwach
Określ, czy zastąpić istniejące projekty, czy pliki SSISDeploymentManifest o tych samych nazwach. Jeśli "Nie", zadanie wdrażania usług SSIS pomija wdrażanie tych projektów lub plików.
Kontynuuj wdrażanie po wystąpieniu błędu
Określ, czy kontynuować wdrażanie pozostałych projektów lub plików, gdy wystąpi błąd. Jeśli "Nie", zadanie wdrażania usług SSIS zostanie natychmiast zatrzymane po wystąpieniu błędu.
Ograniczenia i znane problemy
Zadanie wdrażania usług SSIS obecnie nie obsługuje następujących scenariuszy:
- Konfigurowanie środowiska w katalogu usług SSIS.
- Wdrażanie pakietu ISPAC w programie Azure SQL Server lub usłudze Azure SQL Managed Instance, które zezwala na tylko uwierzytelnianie wieloskładnikowe.
- Wdrażanie i uruchamianie pakietów do MSDB lub Magazynu Pakietów SSIS.
- Jeśli zainstalujesz rozszerzenie SSIS DevOps Tools na serwerze Azure DevOps Server, może zostać wyświetlony komunikat "Rozmiar pakietu rozszerzenia przekracza maksymalny rozmiar pakietu". Aby rozwiązać ten problem, wykonaj następujące kroki:
- Połącz się z lokalnym wystąpieniem serwera SQL i wybierz bazę danych Gallery_Configuration.
- Uruchom zapytanie
INSERT INTO dbo.tbl_RegistryItems VALUES (1,'#\Configuration\Service\Gallery\LargeExtensionUpload\SSIS\','MaxPackageSizeMB\',50)
. Zmień50
na wyższą liczbę, jeśli rozszerzenie jest większe niż 50 MB. - Po uruchomieniu zapytania uruchom ponownie usługi Internet Information Services. Spróbuj ponownie załadować rozszerzenie.
- Jeśli błąd będzie się powtarzać, skontaktuj się z zespołem pomocy technicznej programu SQL Server.
SSIS Deploy task version 1.* (Wdrażanie zadania SSIS w wersji 1.*
Ulepszenia w wersji 1.*:
- Obsługa poziomów ochrony: SzyfrowanieZHasłem i SzyfrowanieCałeZHasłem.
Tylko właściwości wersji 1.*
Hasło projektu
Hasło do odszyfrowania plików ISPAC lub DTSX. Ten argument jest prawidłowy tylko wtedy, gdy poziom ochrony to EncryptSensitiveWithPassword lub EncryptAllWithPassword.
Zadanie konfiguracji katalogu SSIS
Właściwości
Źródło pliku konfiguracji
Źródło pliku JSON konfiguracji katalogu SSIS. Może to być "Ścieżka pliku" lub "Wbudowany".
Zapoznaj się z szczegółami dotyczącymi tego, jak zdefiniować konfigurację JSON:
- Zapoznaj się z przykładowym JSON dla konfiguracji w wierszu .
- Sprawdź schemat JSON.
Ścieżka pliku JSON konfiguracji
Ścieżka pliku konfiguracji JSON katalogu SSIS. Ta właściwość jest widoczna tylko podczas wybierania pozycji "Ścieżka pliku" jako źródła pliku konfiguracji.
Aby użyć zmiennych potoku w pliku JSON konfiguracji, należy dodać zadanie przekształcania plików przed tym zadaniem, aby zastąpić wartości konfiguracji zmiennymi potoku. Aby uzyskać więcej informacji, zapoznaj się z podstawieniami zmiennych JSON.
Konfiguracja JSON w linii
Wbudowany kod JSON konfiguracji katalogu SSIS. Ta właściwość jest widoczna tylko podczas wybierania pozycji "inline" jako źródło pliku konfiguracyjnego. Zmienne potoku mogą być używane bezpośrednio.
Cofnij konfigurację w przypadku wystąpienia błędu
Czy wycofać konfigurację wykonaną przez to zadanie w przypadku wystąpienia błędu.
Serwer docelowy
Nazwa docelowego aparatu bazy danych. Może to być nazwa lokalnego programu SQL Server, usługi Azure SQL Database lub usługi Azure SQL Managed Instance.
Typ uwierzytelniania
Typ uwierzytelniania, aby uzyskać dostęp do określonego serwera docelowego. Ogólnie poniżej obsługiwane są typy uwierzytelniania:
- Uwierzytelnianie systemu Windows
- Uwierzytelnianie programu SQL Server
- Active Directory — hasło
- Active Directory — zintegrowana
Jednak to, czy dany typ uwierzytelniania jest obsługiwany, zależy od typu serwera docelowego i typu agenta. Macierz wsparcia szczegółowego jest przedstawiona w poniższej tabeli.
Typ serwera docelowego | Agent hostowany przez firmę Microsoft | Agent hostowany samodzielnie |
---|---|---|
Lokalny program SQL Server lub maszyna wirtualna | N/A | Uwierzytelnianie systemu Windows |
Azure SQL | Uwierzytelnianie programu SQL Server Active Directory — hasło |
Uwierzytelnianie programu SQL Server Active Directory — hasło Active Directory — zintegrowana |
Nazwa użytkownika
Nazwa użytkownika, aby uzyskać dostęp do docelowego programu SQL Server. Ta właściwość jest widoczna tylko wtedy, gdy typ uwierzytelniania to Uwierzytelnianie programu SQL Server lub Usługa Active Directory — hasło.
Hasło
Hasło dostępu do docelowego programu SQL Server. Ta właściwość jest widoczna tylko wtedy, gdy typ uwierzytelniania to Uwierzytelnianie programu SQL Server lub Usługa Active Directory — hasło.
Definiowanie konfiguracji JSON
Schemat JSON konfiguracji ma trzy warstwy:
- katalog
- folder
- projekt i środowisko
Przykładowy kod JSON konfiguracji w linii
{
"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
}
]
}
]
}
]
}
Schemat JSON
Atrybuty wykazu
Własność | Opis | Notatki |
---|---|---|
Folderów | Tablica obiektów folderów. Każdy obiekt zawiera informacje o konfiguracji folderu wykazu. | Zobacz Atrybuty folderów schematu obiektu folderu. |
Atrybuty katalogu
Własność | Opis | Notatki |
---|---|---|
nazwa | Nazwa folderu wykazu. | Folder zostanie utworzony, jeśli nie istnieje. |
opis | Opis folderu wykazu. | Wartość null zostanie pominięta. |
projekty | Tablica obiektów projektu. Każdy obiekt zawiera informacje o konfiguracji projektu. | Zobacz Atrybuty projektu schemat obiektu projektu. |
Środowiska | Tablica obiektów środowiskowych. Każdy obiekt zawiera informacje o konfiguracji środowiska. | Zobacz Atrybuty środowiska schemat obiektu środowiskowego. |
Atrybuty projektu
Własność | Opis | Notatki |
---|---|---|
nazwa | Nazwa projektu. | Obiekt projektu zostanie pominięty, jeśli projekt nie istnieje w folderze nadrzędnym. |
Parametry | Tablica obiektów parametrów. Każdy obiekt zawiera informacje o konfiguracji parametru. | Zobacz Atrybuty parametrów schemat obiektu parametru. |
Referencje | Tablica obiektów referencyjnych. Każdy obiekt reprezentuje odwołanie środowiska do projektu docelowego. | Zobacz Atrybuty odwołania schemat obiektu odwołania. |
Atrybuty parametrów
Własność | Opis | Notatki |
---|---|---|
nazwa | Nazwa parametru. | |
kontener | Kontener parametru. | |
wartość | Wartość parametru. | |
typ wartości | Typ wartości parametru. | Prawidłowe typy to: literał: atrybut wartości reprezentuje wartość dosłowną. |
Atrybuty odwołania
Własność | Opis | Notatki |
---|---|---|
folder środowiskowy | Nazwa folderu środowiska. | Folder zostanie utworzony, jeśli nie istnieje. Wartość może być ".", co oznacza folder nadrzędny projektu, który odnosi się do środowiska. |
nazwaŚrodowiska | Nazwa odwoływanego środowiska. | Określone środowisko zostanie utworzone, jeśli nie istnieje. |
Atrybuty środowiska
Własność | Opis | Notatki |
---|---|---|
nazwa | Nazwa środowiska. | Środowisko zostanie utworzone, jeśli nie istnieje. |
opis | Opis środowiska. | Wartość null zostanie pominięta. |
Zmiennych | Tablica obiektów zmiennych. | Każdy obiekt zawiera informacje o konfiguracji zmiennej środowiskowej.Zobacz Atrybuty zmiennych schematu obiektu zmiennej. |
Atrybuty zmiennej
Własność | Opis | Notatki |
---|---|---|
nazwa | Nazwa zmiennej środowiskowej. | Zmienna środowiskowa zostanie utworzona, jeśli nie istnieje. |
typ | Typ danych zmiennej środowiskowej. | Prawidłowe typy to: logiczne bajtów data/godzina dziesiętny podwójne int16 int32 int64 sbyte pojedynczy ciąg uint32 uint64 |
opis | Opis zmiennej środowiskowej. | Wartość null zostanie pominięta. |
wartość | Wartość zmiennej środowiskowej. | Ten atrybut obsługuje wszystkie prawidłowe wartości logiczne, liczbowe i ciągowe JSON. Wartość zostanie przekonwertowana na typ określony przez typ atrybutu. Jeśli konwersja nie powiedzie się, wystąpi błąd. Wartość null jest nieprawidłowa. Zadanie pominie ten obiekt zmiennej środowiskowej i wyświetli ostrzeżenie. |
czuły | Określa, czy wartość zmiennej środowiskowej jest wrażliwa. | Prawidłowe dane wejściowe to: prawda false |
Informacje o wydaniu
Wersja 1.0.6
Data wydania: 1 września 2021 r.
- Ogólnie dostępna wersja.
Wersja 1.0.5
Data wydania: 2 czerwca 2021 r.
- Rozwiązano problem polegający na tym, że czasami zadanie kompilacji usług SSIS w wersji 1.* nie może kompilować projektów/pakietów z poziomem ochrony EncryptSensitiveWithPassword lub EncryptAllWithPassword z błędem "Określony wektor inicjowania (IV) nie pasuje do rozmiaru bloku dla tego algorytmu.
- Usunięto zawartość JSON z dziennika zadania konfiguracji katalogu SSIS, gdy "Źródło pliku konfiguracji" to "Ścieżka pliku".
Wersja 1.0.4
Data wydania: 21 kwietnia 2021 r.
- Zadanie kompilacji SSIS w wersji 1.* (wersja zapoznawcza)
- Usuń zależność od programu Visual Studio i projektanta SSIS. Zadanie kompilacji może być uruchamiane w ramach agenta hostowanego przez firmę Microsoft lub własnego agenta z systemem operacyjnym Windows i programem .NET Framework 4.6.2 lub nowszym.
- Nie trzeba instalować wbudowanych składników.
- Wsparcie dla poziomu ochrony EncryptionWithPassword i EncryptionAllWithPassword.
- Zadanie wdrożeniowe SSIS wersja 1.* (Podgląd)
- Obsługa poziomu ochrony SzyfrowanieZHasłem i SzyfrowanieWszystkiegoZHasłem.
Wersja 1.0.3
Data wydania: 21 października 2020 r.
- Zezwalaj na określanie sufiksu dla ciągu połączenia w zadaniu wdrażania usług SSIS i zadaniu konfiguracji katalogu SSIS.
Wersja 1.0.2
Data wydania: 26 maja 2020 r.
- Naprawiono problem, w którym zadanie konfiguracji SSIS Catalog mogło w niektórych przypadkach zakończyć się niepowodzeniem po zakończeniu procesu konfiguracji.
Wersja 1.0.1
Data wydania: 9 maja 2020 r.
- Rozwiązano problem polegający na tym, że zadanie kompilacji SSIS zawsze kompiluje całe rozwiązanie, nawet jeśli jako ścieżkę projektu określono tylko pojedynczy plik dtproj.
Wersja 1.0.0
Data wydania: 8 maja 2020 r.
- Ogólnie dostępna wersja.
- Dodano ograniczenie minimalnej wersji programu .NET Framework na agencie. Obecnie minimalna wersja programu .NET Framework to 4.6.2.
- Uściśliony opis zadania kompilacji usług SSIS i zadania wdrażania usług SSIS.
Wersja 0.2.0 (wersja zapoznawcza)
Data wydania: 31 marca 2020 r.
- Dodaj zadanie konfiguracji wykazu usług SSIS.
Wersja 0.1.3 (wersja zapoznawcza)
Data wydania: 19 stycznia 2020 r.
- Rozwiązano problem uniemożliwiający wdrożenie programu ispac, jeśli jego oryginalna nazwa pliku została zmieniona.
Wersja 0.1.2 (wersja zapoznawcza)
Data wydania: 13 stycznia 2020 r.
- Dodano bardziej szczegółowe informacje o wyjątku w dzienniku zadań wdrażania usług SSIS, gdy typ docelowy to SSISDB.
- Naprawiono przykładową ścieżkę docelową w tekście pomocy właściwości Ścieżka docelowa zadania wdrażania usługi SSIS.
Wersja 0.1.1 (wersja zapoznawcza)
Data wydania: 6 stycznia 2020 r.
- Dodano ograniczenie minimalnego wymagania dotyczącego wersji agenta. Obecnie minimalna wersja agenta tego produktu to 2.144.0.
- Naprawiono niepoprawne teksty wyświetlane dla zadania wdrażania SSIS.
- Dopracowano niektóre komunikaty o błędach.
Wersja 0.1.0 (wersja zapoznawcza)
Data wydania: 5 grudnia 2019 r.
Początkowa wersja narzędzi SSIS DevOps Tools. Jest to wersja zapoznawcza.
Następne kroki
- Pobierz rozszerzenie SSIS DevOps