Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Porty dla SSIS

Termin Definicja
Porty dla SSIS

SSIS nie nasłuchuje na dedykowanym porcie sieciowym — pakiety uruchamiane są lokalnie lub przez SQL Server Agent.

Dlaczego SSIS nie ma własnego portu nasłuchującego

SQL Server Integration Services (SSIS) jest platformą wykonywania pakietów ETL, czyli procesów pobierania, przekształcania i zapisywania danych. Sam pakiet SSIS nie działa jak typowa usługa sieciowa udostępniająca stały port, pod którym klient mógłby wywołać jego wykonanie. Pakiet jest uruchamiany przez konkretny proces, na przykład dtexec.exe, SQL Server Agent albo usługę uruchamiającą zadania SSIS. W związku z tym nie istnieje jeden uniwersalny „port SSIS”, który trzeba otworzyć na zaporze sieciowej dla każdego wdrożenia.

Jeżeli pakiet wykonuje się lokalnie i korzysta wyłącznie z plików znajdujących się na tym samym komputerze, do samego uruchomienia nie jest potrzebne połączenie sieciowe. Sytuacja zmienia się wtedy, gdy pakiet odczytuje lub zapisuje dane w zdalnym SQL Server, korzysta z udziału SMB, łączy się z usługą FTP albo pobiera dane przez HTTP lub HTTPS. W takim przypadku wymagany port wynika z używanego źródła lub miejsca docelowego, a nie z SSIS jako silnika wykonawczego.

Połączenie z SQL Server podczas wykonywania pakietu

Pakiet SSIS może używać komponentów ADO.NET, OLE DB lub innych dostawców do komunikacji z SQL Server. Wtedy połączenie jest nawiązywane z usługą SQL Server Database Engine działającą na określonej instancji. Dla domyślnej instancji SQL Server często stosowany jest port TCP 1433, ale nie jest to bezwarunkowa reguła: administrator może skonfigurować inny port, a instancja nazwana może korzystać z portu dynamicznego. Rzeczywistą wartość należy sprawdzić w konfiguracji SQL Server, w SQL Server Configuration Manager albo w logu SQL Server.

Przy łączeniu z instancją nazwaną klient może korzystać z usługi SQL Server Browser. Usługa ta nasłuchuje standardowo na UDP 1434 i pomaga ustalić port przypisany do danej instancji. Jeżeli połączenie jest konfigurowane z użyciem jednoznacznie podanego numeru portu, udział SQL Server Browser może nie być potrzebny. Z punktu widzenia zapory trzeba więc rozróżnić port usługi Database Engine, port UDP 1434 używany przez Browser oraz ewentualne porty innych systemów, z których korzysta pakiet.

SSISDB, katalog pakietów i SQL Server Agent

W nowszych wersjach SQL Server pakiety mogą być wdrażane do katalogu SSISDB. SSISDB jest bazą danych przechowywaną w silniku SQL Server Database Engine, dlatego dostęp do katalogu odbywa się przez port instancji Database Engine, a nie przez odrębny port przypisany do SSIS. Dotyczy to między innymi odczytu projektów, parametrów, środowisk, historii wykonań i komunikatów rejestrowanych przez katalog. Jeżeli SSISDB znajduje się na zdalnym serwerze, potrzebne jest połączenie z tym serwerem na skonfigurowanym porcie SQL Server.

Uruchamianie pakietu przez SQL Server Agent również nie tworzy osobnego portu sieciowego dla SSIS. Agent wykonuje krok zadania na serwerze, na którym działa, a proces wykonawczy korzysta następnie z połączeń zdefiniowanych w pakiecie, konfiguracji projektu lub środowisku SSIS. Przykładowo zadanie może uruchomić pakiet lokalnie, połączyć się z oddzielną instancją SQL Server i jednocześnie pobrać plik z udziału sieciowego. W takim scenariuszu należy przeanalizować wszystkie kierunki ruchu: od SQL Server Agent do SSISDB, od procesu pakietu do źródeł danych oraz od procesu pakietu do miejsc docelowych.

Ustalanie wymaganych portów w konkretnej konfiguracji

Diagnozę należy rozpocząć od ustalenia sposobu wdrożenia i uruchamiania pakietu. Istotne jest, czy używany jest katalog SSISDB, czy pakiet znajduje się w systemie plików, czy wykonanie odbywa się przez SQL Server Agent, a także na którym komputerze faktycznie działa proces pakietu. Następnie trzeba spisać wszystkie connection managery oraz zadania korzystające z sieci. Dla każdego połączenia należy określić nazwę hosta, instancję SQL Server lub nazwę usługi, protokół oraz port wynikający z konfiguracji docelowego systemu.

Komunikat o braku połączenia z SSISDB może wskazywać na niedostępność portu SQL Server Database Engine, błędną nazwę instancji, problem z rozpoznaniem portu dynamicznego albo blokadę UDP 1434 przez zaporę. Błąd podczas pobierania pliku może natomiast dotyczyć SMB, FTP, HTTP lub HTTPS, zależnie od użytego komponentu. Sam fakt, że pakiet SSIS nie uruchamia się poprawnie, nie uzasadnia otwierania przypadkowego portu „dla SSIS”. Reguły zapory powinny odpowiadać konkretnym połączeniom i kierunkom ruchu, a numer portu należy potwierdzić w konfiguracji używanego serwera.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę