Sharepoint ab Version 2010 verfügt über eine neue Funktion, die den OWSTIMER.EXE Prozess jede Nacht recycelt – ähnlich wie die der Anwendungspool-Funktionalität des IIS – dies um Speicherprobleme des Timer-Dienst zu vermeiden.
Das Recycling wird durch ein neuen Zeitgeberauftrag der in Sharepoint 2010/2013 hinzugefügt wurde kontrolliert: der Job „Timer Service Recycle“ läuft Standardmässig einmal pro Tag um 6 Uhr morgens durch.
Während der Durchführung des Recycling Prozesses und das Herunterfahren des Timer-Dienstes kommt es zu einem Problem durch .NET.
Das Problem hierbei ist, der Key zur Verschlüsselung hat in einem Thread die Identität dessen Benutzerkonto angenommen, von diesem der Key erstellt wurde. Wenn nun der .NET Finalizer verarbeitet wird, kommt es dazu das der Key zur Verschlüsselung während des heruntergefahrenen Timer-Dienst, bei dem nächsten Thread dieser nicht imitiert ausgeführt wird – so dass der Schlüssel nicht vorhanden ist und es zur Ausnahme “keyset does not exist“ kommt.
Da diese Ausnahme in der letzten Phase der Abschaltung des Prozesses kommt, wird kein weiterer Schaden verursacht, der entsprechende Fehler wird im Ereignisprotokoll vermerkt:
An unhandled exception occurred and the process was terminated. Process ID: 4213 Exception: System.Security.Cryptography.CryptographicException Message: Keyset does not exist
Sichtbar wird das Problem auch auf der Konsole wenn Visual Studio oder ein weiterer JIT-Debugger auf dem betroffenen System installiert ist. In diesem Fall wird folgender Dialog auf der Server Konsole erscheinen:

Deinstallieren von Visual Studio wird dieses Problem nicht beheben, da die Registrierungseinstellungen noch präsent und aktiv ist.

Um den Server so zu konfigurieren dass das Dialogfeld zur unbehandelten Ausnahme nicht mehr auftritt, kann der Registrierungseditor aufgerufen werden um folgende Registrierungsschlüssel zu löschen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
Bei einem 64-bit Betriebssystem sind folgende Registry Keys zu entfernen:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

Die REG_SZ Zeichenfolge Debugger löschen, dabei ist acht zu geben das keine weiteren Schlüssel entfernt werden!