Fehler bei collection_set_3_upload

Gelegentlich liest man von Fehlern bei diesem Job. Im Jobverlauf findet man dann z. B. diese Bechreibung: "Violation of PRIMARY KEY constraint 'PK_active_sessions_and_requests'. Cannot insert duplicate key in object 'snapshots.active_sessions_and_requests'.

Wenn man sich nicht in die Tiefen dieser Verarbeitung für die Systemdaten-Sammlung einarbeiten möchte und auch auf einige Daten der Datensammlung verzichten kann, scheint folgender Weg erfolgsversprechend zu sein:

  • Auf dem Server sucht man das Verzeichnis, in dem die temporären Dateien liegen, die hochgeladen werden sollen. Dies ist z. B. \\<servername>\C$\Users\<Konto des SQL Server Agents>\AppData\Local\Temp
    falls es ein Server mit W2K3 ist, dann findet man die Dateien in der Regel hier: C:\Documents and Settings\<Konto des SQL Server Agents>\Local Settings\Temp
  • Die älteste CACHE-Datei dort, sollte diejenige mit den doppelten Sätzen sein. Man kann dies auch anhand des Datums überprüfen, welches in der Fehlermeldung oben noch als Wert für den doppelten Schlüssel angegeben wurde.
  • Man kann die Datei löschen und den Job erneut starten. Die Verarbeitung sollte wieder funktionieren und die alten Dateien nach der Verarbeitung verschwunden sein.

SQL Server 2008

Hier gestaltet sich die Analyse unter Umständen etwas schwieriger. Das folgende Skript sollte helfen der Ursache auf die Sprünge zu kommen.

SELECT MAX(ID) FROM msdb..sysssislog;  -- let it be 12345678

-- increase the logging level from 0 to 1
UPDATE msdb..syscollector_collection_sets
SET logging_level = 1 -- from 0
WHERE name = 'Query Statistics';

--Now run the job "collection_set_3_upload" manually
--check the latest entries in the table

SELECT * FROM msdb..sysssislog WHERE id >12345678; --- replace this with the proper value

--Check the "Message" column, which actually stores the exact error message.
--Once you fix this issue, change the logging back to 0

UPDATE msdb..syscollector_collection_sets
SET logging_level = 0
WHERE name = 'Query Statistics';

Sommerzeitumstellung

Zufall oder nicht, bei mir trat der Fehler mit einer Datei auf, in der genau der Zeitraum der herbstlichen Sommerzeitumstellung enthalten war. Da haben wir ja auch zweimal die Zeit von 2:00 Uhr bis 3:00 Uhr!.

SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0"  Hresult: 0x80004005  Description: "The statement has been terminated.".
An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0"  Hresult: 0x80004005  Description: "Violation of PRIMARY KEY constraint 'PK_active_sessions_and_requests'. Cannot insert duplicate key in object 'snapshots.active_sessions_and_requests'. The duplicate key value is (578211, 2012-10-28 02:58:11.7970000 +02:00, 1).".

  • pk
    Kommentar von: pk
    01.07.14 @ 09:16:25

    Hallo,

    danke für den Artikel. Ich habe die Fehlermeldungen wie angegeben analysiert.

    Ich habe diesen Fehler (SQL Server 2008 r2) und suche nun diese Datei im Temp-Verzeichnis ...
    Ich habe alles gelöscht, was ging, aber der Fehler bleibt. Nach genau welcher Cache-Datei (Prefix, Endung, ...) muss ich denn suchen?

    Die ersten Fehler in sysssislog sind:
    datacode databytes message
    -1071636383 0x Die Datei weist fehlerhafte Versions- und Flaginformationen auf. Die Datei ist beschädigt oder keine von SSIS erstellte Rohdatendatei.

    datacode databytes message
    -1073450985 0x Fehler beim Überprüfen von 'Komponente 'RFS - Read Current Upload Data' (1)'. Fehlercode: 0x80004005.

    datacode databytes message
    -1073450996 0x Fehler beim Überprüfen von mindestens einer Komponente.

    (danach folgen viele dieser Art:
    Die snapshot_execution_count-Ausgabespalte (21423) in der Ausgabe 'Union All Output 1' (18722) und der Komponente 'UNION - Combine interesting requests and interesting stats' (18720) wird nicht im Datenflusstask verwendet. Durch das Entfernen dieser nicht verwendeten Ausgabespalte kann die Leistung des Datenflusstasks optimiert werden.)

    danke, PK

Einen Kommentar hinterlassen

You must be logged in to leave a comment. Log in now!

If you have no account yet, you can register now...
(It only takes a few seconds!)