Direkt zu Hauptinhalt

Datenbankproblemlösung

Dieser Artikel behandelt häufige datenbankbezogene Probleme in dab Nexus und ihre Lösungen.

Inkonsistenzen beim Aufgabenstatus

Symptome

  • Aufgaben verbleiben im Status Running, obwohl sie abgeschlossen oder fehlgeschlagen sind
  • Der Aufgabenstatus stimmt nicht mit dem tatsächlichen Zustand der Extraktion überein
  • Ausführungen zeigen fehlerhafte Abschlusszustände
  • Geplante Aufgaben schlagen sporadisch fehl, ohne eindeutige Fehlermeldung

Ursache

Diese Symptome treten in der Regel auf, wenn Application Database und Extraction/Results-Datenbanken dieselbe SQL Server-Instanz teilen. Bei umfangreichen Datenextraktionen ist die SQL Server stark ausgelastet. Dadurch kann:

  1. Es zu Verbindungszeitüberschreitungen zur Application Database kommen
  2. Fehlende Schreiboperationen für Aufgabenstatusaktualisierungen auftreten
  3. Inkonsistente Statusinformationen in der Application Database gespeichert werden

Die Application Database speichert alle Aufgabenstatus und muss jederzeit reaktionsfähig bleiben. Wenn sie mit ressourcenintensiven Extraktionen um Ressourcen konkurriert, leidet die Verbindungsstabilität.

Diagnose

Prüfen Sie Ihre SQL Server-Logs auf:

  • Verbindungszeitüberschreitungen
  • Deadlock-Warnungen
  • Meldungen zu Ressourcen-Konkurrenz

Überprüfen Sie Ihre aktuelle Konfiguration:

  • Befinden sich Application Database und Extraction-Datenbanken auf derselben SQL Server-Instanz?
  • Tritt das Problem während oder nach großen Extraktionen auf?

Lösung

Migrieren Sie die Application Database auf eine eigene, dedizierte SQL Server-Instanz. Siehe den folgenden Migrationsleitfaden.


Migration der Application Database auf eine separate Instanz

Wenn Sie Inkonsistenzen beim Aufgabenstatus oder Verbindungsprobleme durch eine gemeinsame SQL Server-Instanz feststellen, folgen Sie diesen Schritten, um die Application Database auf eine dedizierte Instanz zu migrieren.

Voraussetzungen

  • Neue SQL Server-Instanz bereitgestellt (siehe Systemanforderungen)
  • Administrativer Zugriff auf beide SQL Server-Instanzen
  • Zugangsdaten für das dab Nexus-Servicekonto
  • Ausreichendes Zeitfenster für Downtime während der Migration

Migrationsschritte

1. Backups erstellen

  • Erstellen Sie ein vollständiges Backup der Application Database
  • Zusätzlich alle Data Databases (Extraction/Results) sichern
  • Alle Konfigurationsdaten (Third-Party Services, SAP-Verbindungen, Benutzereinstellungen) werden in der Application Database gespeichert
Wichtig

Überspringen Sie den Backup-Schritt nicht. Die Application Database enthält Ihre gesamte dab Nexus-Konfiguration.

2. dab Nexus-Dienst stoppen

  • Öffnen Sie Windows Services (services.msc)
  • Stoppen Sie den dab Nexus-Dienst
  • Stellen Sie sicher, dass der Dienst vollständig gestoppt ist, bevor Sie fortfahren

3. Application Database auf die neue Instanz wiederherstellen

  • Stellen Sie das Backup der Application Database auf der neuen dedizierten SQL Server-Instanz wieder her
  • Der Datenbankname soll gleich bleiben oder notieren Sie den neuen Namen für die Konfiguration
  • Überprüfen Sie, ob die Wiederherstellung erfolgreich abgeschlossen wurde

4. Configuration.json anpassen

  • Navigieren Sie zum Installationsverzeichnis von dab Nexus
  • Bearbeiten Sie Configuration.json
  • Aktualisieren Sie die ApplicationDatabase-Verbindungszeichenfolge:
    • Servername: Auf die neue Instanz aktualisieren
    • Datenbankname: Bei Umbenennung während der Wiederherstellung anpassen
  • Beispiele für Verbindungszeichenfolgen finden Sie unter Configuration.json Referenz

Beispiel zur Aktualisierung der Verbindungszeichenfolge:

"ConnectionStrings": {
"ApplicationDatabase": "Server=NEW-SQL-INSTANCE;Database=NexusHome;Trusted_Connection=True;MultipleActiveResultSets=true"
}

5. dab Nexus-Dienst neu starten

  • Starten Sie den dab Nexus-Dienst
  • Prüfen Sie den Windows Event Viewer auf etwaige Startfehler
  • Verifizieren Sie den erfolgreichen Start durch Zugriff auf die dab Nexus-Weboberfläche

6. Neue SQL-Verbindungen in dab Nexus erstellen

  • Melden Sie sich bei dab Nexus an
  • Navigieren Sie zu Einstellungen > SQL-Server
  • Erstellen Sie neue SQL-Verbindungen zu Ihrer Extraction/Results-Instanz
  • Testen Sie jede Verbindung, bevor Sie fortfahren

7. Geplante Aufgaben aktualisieren

Überprüfen Sie alle Aufgaben, die SQL-Verbindungen nutzen:

  • Deaktivieren Sie Aufgaben mit der alten SQL-Verbindung (sie würden andernfalls fehlschlagen)
  • Klonen Sie jede betroffene Aufgabe
  • Aktualisieren Sie die SQL-Verbindung in der geklonten Aufgabe auf die neue Verbindung
  • Aktivieren Sie die neue Aufgabe
  • Überprüfen Sie, ob die Aufgabe erfolgreich läuft
  • Löschen Sie die alte Aufgabe nach der Überprüfung
Hinweis

Löschen Sie alte Aufgaben erst, nachdem Sie die Funktionsfähigkeit der geklonten Aufgaben bestätigt haben.

Überprüfung nach der Migration

  • Führen Sie eine Testextraktion durch, um die Konnektivität zur Extraction-Datenbank zu prüfen
  • Monitor Task-Status zur Bestätigung, dass diese korrekt aktualisiert werden
  • Prüfen Sie die SQL Server-Logs auf beiden Instanzen auf Verbindungsprobleme
  • Stellen Sie sicher, dass geplante Aufgaben wie erwartet ausgeführt werden

Fehler bei Verbindungszeitüberschreitungen

Symptome

  • „Connection timeout“-Fehler in dab Nexus-Logs
  • Aufgaben schlagen mit Datenbankverbindungsfehlern fehl
  • Sporadische Verbindungsprobleme

Mögliche Ursachen

  1. Netzwerkprobleme zwischen dab Nexus und SQL Server
  2. SQL Server überlastet (gemeinsames Instanzproblem)
  3. Firewall blockiert Verbindungen
  4. SQL Server nicht für Remote-Verbindungen konfiguriert

Lösungen

  • Überprüfen Sie die Netzwerkverbindung mit Test-NetConnection oder telnet zum SQL Server-Port (Standard: 1433)
  • Prüfen Sie im SQL Server Configuration Manager, ob Protokolle aktiviert sind
  • Kontrollieren Sie die Firewallregeln für den SQL Server-Port
  • Ziehen Sie die Migration auf separate Instanzen in Betracht, falls Überlast die Ursache ist

Berechtigungsfehler

Symptome

  • „Access denied“- oder „permission denied“-Fehler
  • Datenbanken oder Tabellen können nicht erstellt werden
  • Schreib- und Leseoperationen schlagen fehl

Lösung

Stellen Sie sicher, dass das dab Nexus-Servicekonto über die erforderlichen Berechtigungen verfügt:

  • Application Database: db_owner-Rolle (oder db_datareader, db_datawriter, db_ddladmin)
  • Extraction/Results-Datenbanken: dbcreator-Rolle auf Serverebene (für automatisches Erstellen) oder db_owner auf bereits angelegten Datenbanken

Detaillierte Berechtigungsanforderungen finden Sie unter MS SQL-Server einrichten.