Failed to create kernel event for collection set
Gelegentlich kommt es vor, dass die Datensammlung auf unserem Cluster (SQL Server 2012 SP1 CU #7) ihren Dienst einstellt. In den Protokollen findet man dann z. B. diese Meldung: Cannot create a file when that file already exists.
Für die Sammlungs-Prozesse der Datensammlung findet man auf dem Server jeweils einen Prozess DCEXEC. Das heißt, es laufen dort in der Regel permanent zwei solche Prozesse. Überprüfen kann man dies in einer Kommandozeile mit dem folgenden Statement:
TASKLIST /SVC /FI "IMAGENAME EQ DCEXEC.EXE"
Immer wenn dieser Fehler auftrat, konnte ich aber dort vier Prozesse finden. Anscheinend wurden die alten Prozesse nicht sauber beendet und haben solche Geister-Prozesse hinterlassen, die mit ihren Sperren den neuen Prozessen in die Quere kamen.
Die Lösung
- Man beendet alle Prozesse DCEXEC.EXE auf dem Server.
- Man startet die beiden collection Jobs im SQL Server neu
Nun kann man wieder nur zwei Prozesse auf dem Windows-Server sehen und nach einigen Minuten sind auch wieder Daten in der Datensammlung vorhanden.
Weitere Informationen
Die letzten 100 Fehler aus dem Protokoll der Datensammlung kann man sich mit folgendem Statement anschauen:
SELECT TOP 100 log_id, collection_set_id, start_time, failure_message
FROM msdb.dbo.syscollector_execution_log_internal
WHERE failure_message IS NOT NULL
ORDER BY log_id DESC;
Für die Versionen 2008 und 2008 R2 gibt es einen Artikel in der Knowledge-Base: Troubleshooting the Data Collector wo weitere Informationen zu anderen Fehlersituationen zu finden sind.
Print article | This entry was posted by cmu on 08.04.14 at 14:05:00 . Follow any responses to this post through RSS 2.0. |