Skip to main content
Skip table of contents

Fehlersuche Pipeline bricht ab oder läuft nicht

  • Infrastruktur allgemein prüfen

    • Freigaben für IP Adressen prüfen

      • gibt es mehrere ausgehende IP Adressen, welche ggf. in der Firewall der Zieldatenbank freigeschalten werden müssen ?

      • ändert sich die IP Adresse der Zieldatenbank ? Besonders bei Azure Datenbanken ist das oft der Fall, da diese über Load Balancer etc. geroutet werden ?

      • prüfen Sie diese Dinge ausführlich anhand dieser Anleitung Wie gebe ich IP Adressen frei und prüfe IP Adressbereiche

    • Windows Eventlog anschauen

      • Wurde der Computer neu gestartet ? Systemevents filtern auf 6005 (Neustart des Eventlogs) grafik-20241101-090601.png

      • Wurde die Netzwerkverbindung getrennt ? Systemevents filtern auf 10001 grafik-20241101-090934.png

  • SQL Server Performance verbessern

    • das Kompatibilitätslevel der Datenbank so hoch wie möglich setzen, die Ausführungspläne werden dann effizienter

    • alle Tabellen einmal über die Funktion ALTER TABLE …. REBUILD neu bauen lassen (Insbesondere HEAP Tabellen mit vielen DELETE / INSERTS werden so wieder klein) (s.Script 1)

    • Prüfung, ob die Datenbank im Wiederherstellungsmodell Simple ist

    • die Neuerstellung von Columnstore Indexen nach dem Einfügen der Daten vornehmen (nicht vorher) oder auf eine letzten Step separieren, um zu sehen ob, der Rest läuft CCIvorNach_ChatGPT-20241028-164919.jpg

    • derzeit sollte das testweise in der Prozedur agent.spSyncFIN erfolgen, falls diese im Einsatz ist grafik-20241119-124725.png

    • Größe der tempdb prüfen und vergrößeren bzw. prüfen ob ob Wachstum möglich ist

  • OCT Logs prüfen

    • Windows Applikationslog prüfen, gefiltert auf Source CPCE / OCT grafik-20241101-091215.png

    • OCT Logfiles prüfen C:\ProgramData\Saxess Software\CPCE\Logs grafik-20241101-091913.png

    • OCT API Log prüfen grafik-20241101-091545.png

      SQL
      SELECT TOP 1000 *
      FROM system.tAPI_Log
      WHERE ReturnCode > 410
  • OCT Konfiguration

    • Timeout für Pipelines Setting prüfen grafik-20241030-122055.png

    • ist am Step ein Zeitlimit hinterlegt, welches ggf. zu knapp bemessen ist ? grafik-20241101-095825.png

    • steht der Job korrekt im Ausführungsplan des Servers ? grafik-20241101-095715.png

  • ETL Strategie verbessern

    • die Pipeline in Transportpipeline und Aufbereitungspipeline trennen

      • die Transportpipeline transportiert nur die Daten von Quelle zum Ziel

      • die Aufbereitungspipeline bereit im Zielserver auf

      • die Aufbereitung kann so separat noch mal angestoßen werden, oft sogar auf dem Zielserver separat von der sendenden OCT Instanz

  • Im Log gibt es die Meldung “Stopped due to service restart / shutdown” Unbenannt-20241030-122406.png

    • Es könnte ein Problem mit dem Watchdog Prozess geben - dieser startet den Service neu, falls er gestoppt wurde. Falls der Service auf die Anfrage des Watchdog nicht reagiert (da er schwer beschäftigt ist), kann dieser den Service stoppen und neustarten. Die Pipeline bricht dadurch ab. Unter ProgramData/Saxess Software/<service instance>/service.appsettings.json kann das Watchdog Intervall von 60 auf 0 geändert werden, der Watchdog prüft dann nicht den Service. SXSEOCT-2933

    • die Meldung kann natürlich auch kommen, falls der Computer neu gestartet wurde - gab es aber keinen Computerneustart, war es wahrscheinlich der Watchdog

Skript 1 - REBUILD ALL TABLES
SQL
-- REBUILD für alle Tabellen ###############################################################################################################

DECLARE @TableName	NVARCHAR(255)
DECLARE @sqlCommand NVARCHAR(1000)

-- Cursor deklarieren
DECLARE table_cursor CURSOR FOR
	SELECT 
		TABLE_SCHEMA + '.' + TABLE_NAME 
	FROM 
		INFORMATION_SCHEMA.TABLES
	WHERE 
		TABLE_TYPE = N'BASE TABLE' 
		AND TABLE_CATALOG = DB_NAME()  -- Nur Tabellen der aktuellen Datenbank

OPEN table_cursor

FETCH NEXT FROM table_cursor INTO @TableName

-- Schleife über alle Tabellen
WHILE @@FETCH_STATUS = 0
BEGIN
    SET @sqlCommand = N'ALTER TABLE ' + @TableName + N' REBUILD;'

	PRINT CONCAT(CURRENT_TIMESTAMP,N' ', @sqlCommand,N' begonnen.')

    EXEC sp_executesql @sqlCommand

    FETCH NEXT FROM table_cursor INTO @TableName
END

-- Cursor schließen und freigeben
CLOSE table_cursor
DEALLOCATE table_cursor
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.