Announcement

Collapse
No announcement yet.

SQL Server 2008 - Problem mit Server Agent Datenimport

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Server 2008 - Problem mit Server Agent Datenimport

    Hallo Forumgemeinde,

    Ich habe mal wieder ein Problem mit dem SQL Server und Hoffe das Ihr mir vielleicht helfen könnt.

    Problem: Der automatische Datenimport mit dem SQL Server Agent funktioniert nicht


    Ich nutze beim SQL Server momentan ausschliesslich das Reporting Modul. Nachts sollen dabei die Daten vom ERP (Sage ISAM Datenbank) in den SQL Server importiert werden. Dafür habe ich ein SSIS Paket erstellt welches die einzelnen Tabellenimporte beinhaltet. Führe ich das Paket ohne Server Agent direkt in den Integration Services aus, funktioniert es einwandfrei. Führe ich nun aber den Auftrag aus, bricht er sofort mit folgender Meldung im LOG ab:

    Fehler: 2009-02-18 14:30:43.20 Code: 0xC0202009 Quelle: test Verbindungs-Manager 'SourceConnectionOLEDB' Beschreibung: SSIS-Fehlercode 'DTS_E_OLEDBERROR'. OLE DB-Fehler. Fehlercode: 0x80004005. Ein OLE DB-Datensatz ist verfügbar. Quelle: 'Microsoft JET Database Engine' HRESULT: 0x80004005 Beschreibung: ''K:\CL2009\Basis\basis.mdb' ist kein zulässiger Pfad. Stellen Sie sicher<c/> dass der Pfad richtig eingegeben wurde und dass Sie mit dem Server<c/> auf dem sich die Datei befindet<c/> verbunden sind.'. Fehlerende Fehler: 2009-02-18 14:30:43.20 Code: 0xC020801C Quelle: 1-Datenflusstask Quelle - Vert [1] Beschreibung: SSIS-Fehlercode 'DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGE R'. Fehler beim Aufrufen der AcquireConnection-Methode über den Verbindungs-Manager 'SourceConnectionOLEDB' (Fehlercode: 0xC0202009). Möglicherweise wurden bereits Fehlermeldungen veröffentlicht<c/> die weitere Informationen zum Fehler beim Aufrufen der AcquireConnection-Methode beinhalten. Fehlerende Fehler: 2009-02-18 14:30:43.20 Code: 0xC0047017 Quelle: 1-Datenflusstask SSIS.Pipeline Beschreibung: Fehler beim Überprüfen von 'Komponente 'Quelle - Vert' (1)'. Fehlercode: 0xC020801C. Fehlerende Fehler: 2009-02-18 14:30:43.20 Code: 0xC004700C Quelle: 1-Datenflusstask SSIS.Pipeline Beschreibung: Fehler beim Überprüfen von mindestens einer Komponente. Fehlerende Fehler: 2009-02-18 14:30:43.20 Code: 0xC0024107 Quelle: 1-Datenflusstask Beschreibung: Fehler bei der Tasküberprüfung. Fehlerende DTExec: Die Paketausführung wurde beendet. DTSER_FAILURE (1). Gestartet: 14:30:42 Beendet: 14:30:43 Verstrichen: 0.313 Sekunden. Fehler beim Ausführen des Pakets. Fehler bei Schritt.,00:00:01,0,0,,,,0

    Andere Aufträge, z.B. das Versenden von Reports per Mail etc. funktionieren mit dem Agent wunderbar.

    Achja, um eine Fehlermeldung in dem LOG reichtigzustellen, der Pfad zu der angemängelten MDB Datei ist sehrwohl vorhanden.

    Vielleicht hat ja jemand von euch schon mal etwas ähnliches gehabt.

    Besten Gruss

    Bernd

  • #2
    Hallo Bernd,

    dazu fallen mir aus meiner Praxis 2 mögliche Probleme ein, die wir auch hatten:

    1.) Der Server Agent läuft nicht mit den Rechten des Windows Users, sondern meist mit einem Proxy-User (Credentials). Daher muss sichergestellt sein, dass der Agent User auch Zugriff auf das Verzeichnis hat.

    2.) Der Client Rechner mag das Laufwerk K: zugeordnet haben und kennen. Um sicher zu sein, dass auch der Agent des SQL-Servers das Verzeichnis findet, sollte aber unbedingt der UNC Pfad des Verzeichnisses verwendet werden.

    Gruss, Bruno

    Comment


    • #3
      Hallo Bruno, wenn ich den Pfad auf UNC umstelle erscheint tatsächlich keine Fehlermeldung mehr.

      Dummerweise läuft der Auftrag jetzt aber ununterbrochen. Ich habe zum Testen mal nur eine Tabelle gewählt welche auch nur 60 Datensätze hat. Eine halbe Stunde nach Start des Auftrags läuft dieser immer noch ohne erkennbaren Vortschritt. Wenn ich den jetzt abbreche
      steht im LOG auch nur "Vorgang wurde durch Benutzer abgebrochen" . Es werden auch keinerlei Daten importiert (Ich habe vorher alle Daten aus der Zieltabelle gelöscht)

      Auch hier ist es der Fall, dass wenn ich das Paket manuell in den Integration Services ausführe, es wunderbar funktioniert.

      Für jede weitere Anwort wäre ich dankbar.

      Besten Gruss

      Bernd

      Comment


      • #4
        Hallo Bernd,
        zu dem Problem fällt mir leider nichts ein ausser den Fehler einzugrenzen.
        Ich habe jetzt auch schon einige Zeit nichts mehr mit SSIS gemacht.

        Wenn Du ein Paket mit dem Agent laufen lassen willst, musst Du es ja auf den Server stellen. Es sollte dann im SQL Server Management Studio im Objekt-Explorer -> Integration Services -> MSDB oder File System (je nachdem wohin veröffentlicht wird) sichtbar sein.
        Von dort kann es ja auch direkt ausgeführt werden (Kontext-Menu auf Paket). Was passiert denn dann?

        Ansonsten könnte ich mir noch vorstellen im Paket als ersten Schritt und auch für die weiteren Schritte ein Logging einzubauen um zu sehen, ob er mit der Ausführung überhaupt beginnt.

        Ich habe gerade noch diesen Artikel gefunden, bin aber nicht sicher dass er weiterhilft.
        Es geht um die Berechtigungsproblematik, das der Agent Pakete die Anmeldeinformationen enthalten bei falsch eingetelltem ProtectionLevel im Paket nicht ausführen können.

        http://support.microsoft.com/kb/918760

        Gruss, Bruno
        Zuletzt editiert von Bruno Eberle; 05.03.2009, 10:16.

        Comment


        • #5
          Hallo Bruno, danke für deine Antwort. Leider haben die Schritte im Microsoft Artikel auch nicht geholfen. Ich habe jetzt als Übergangslösung eine Batchdatei geschrieben welche das Paket ausführt (dtexec -SQL Paketname) und diesen in den Windows Taskplaner eingefügt. Das muss jetzt solange funktionieren bis ich die Lösung gefunden habe. Nochmals Danke und Gruss.

          Bernd

          Comment

          Working...
          X