SharePoint DSN Fehler

By | 17. Januar 2015

Vor ein paar Tagen bin ich über ein sehr merkwürdiges Problem (das kennen wir ja bereits von SharePoint) bei einem SharePoint-Server gestolpert. Der Server war einer von zwei Application-Servern in der Farm. Auf einmal funktionierte der Server nicht mehr so, wie man es eigentlich erwarten würde.

Zuerst ist aufgefallen, dass keine Timer-Jobs mehr auf diesem Server ausgeführt werden. Ein Blick in die Windows-Ereignisanzeige hat die Fehlermeldung mit der ID 7024 an das Tageslicht gefördert:

Log Name:      System
Source:        Service Control Manager
Date:          <date>
Event ID:      7024
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <servername>
Description:
The SharePoint 2013 Timer service terminated with
service-specific error: unspecificed.

Diese Fehlermeldung trat in regelmäßigen Abständen auf. Es wurde also versucht den SharePoint-Timer-Service zu starten. Dieser beendete sich allerdings gleich wieder und das ganze wiederholt sich von vorne.

Das erste was ich versuchte, war den lokalen SharePoint Cache zu löschen. Also den Timer-Service gestoppt, die XML-Dateien gelöscht und die cache.ini wieder auf 1 gesetzt. Nachdem der Timer-Service wieder gestartet wurde, hat sich allerdings überhaupt nichts getan. Es wurden keine XML-Dateien angelegt und logischerweise auch die cache.ini nicht angefasst.

Im nächsten Schritt habe ich mir noch einmal das ULS-Log einmal näher angesehen. Dort wurde eine ungewöhnliche Fehlermeldung protokolliert:

Topology 88b1 Monitorable An exception occured while trying to aqquire the local farm: System.ArgumentNullException: Value cannot be null. Parameter name: server at Microsoft.SharePoint.Administration.SPConfigurationDatabase....

Warum diese an sich sehr wichtige Fehlermeldung als Monitorable eingestuft wird, kann ich wirklich nicht nachvollziehen. Denn diese Fehlermeldung sagt aus, dass der SharePoint Server keine Verbindung zur Konfigurations-Datenbank der Farm herstellen kann. Dies ist aber eine grundsätzliche Voraussetzung, dass der Server funktionieren kann.
Die Datenbank-Verbindung wird über den Wert DSN in der Windows Registry hinterlegt. Und tatsächlich, dort war aus unerklärlichen Gründen der Connection-String nicht mehr vollständig hinterlegt. Sobald man hier den richtigen und vollständigen Connection-String (bei mehreren Servern in einer Farm kann dieser einfach von einem anderen Server kopiert werden) hinterlegt, funktioniert auch der SharePoint Server wieder wie erwartet. Der Timer-Service startet ganz normal und beendet sich auch nicht durch einen Fehler. Die XML-Dateien vom lokalen SharePoint Cache werden hinzugefügt und auch die cache.ini entsprechend angepasst.
Ein beispielhafter Eintrag vom Wert DSN sieht folgendermaßen aus:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.