Auf einem alleinstehenden Windows 2019-Server wurde zuerst der SQL-Server 2019 installiert. Danach übernahm man ihn in eine Domäne. Seitdem meldete die Ereignisanzeige alle 3 Sekunden einen Berechtigungsfehler für „NT Service\SQL Server Distributed Relay Client“.
Hier geht es allem Anschein nach um ein SQL-Server-Konto, dem die Berechtigung fehlt, irgendeine Anwendung zu starten. Früher gab es bei der Installation des SQL-Servers maximal die Instanz und den Agent. Nicht einmal eine Instanz. Und wir haben unter „Ausführen als“ immer auf „Lokales System“ geklickt. Funktionierte ja alles. Inklusive Viren.
Seit Windows 2008 präferiert Microsoft in diesem Kontext „virtuelle Konten“, um dem unter ihnen laufenden Diensten zu weitreichende Berechtigungen zu entziehen. Die haben in eine Domäne den Vorteil, dass sie nur lokal gültig sind (ok, das ist eigentlich kein Vorteil). Aber zumindest haben sie kein Kennwort (kennt man vom IIS). Und wer schon einmal in der Aufgabenplanung einen Extra-Benutzer für einen Task angegeben hat (Kennwort speichern: Ja) und dann später auf dem Domänenkontroller dessen Kennwort geändert hat…
Langer Rede, kurzer Sinn: Virtuelle Konten sind eigentlich sowas wie das Computerkonto$. Das hat bei der Lösung des o.a. Problems aber nicht geholfen.
Zunächst haben wir einfach mal die Fehlerbeschreibung in der Ereignisanzeige gelesen. Da fehlte einer Klasse mit eine bestimmten CLSID also eine Berechtigung. Über die CLSID in der Registry findet man auch den sprechenden Namen der Klasse:
Ich tue gar nicht so, als würde ich den DReplayController kennen. Erst recht nicht auf einem alleinstehenden SQL-Server.
Das im Fehlertext genannte Programm für (Remote)Komponentendienste heißt seit Windows 95(98?) „dcomcnfg“. Hierin mit der rechten Maustaste auf die in der Registry genannte Komponenten klicken und „Eigenschaften“ wählen.
Auf der Reiterkarte „Berechtigung“ habe ich zunächst in der Domäne und auf dem Server das angegebene Objekt „SQL Server Distributed …“ gesucht. Und erst danach den Kopf eingeschaltet. Denn virtuelle Konten sind virtuell. Sie erscheinen nicht im Suchfenster.
So habe ich die vollständige Kontobezeichnung aus der Fehlermeldung (zur Sicherheit noch mit den Anmeldeinfomationen des gleichnamigen Dienstes verglichen) einfach in das Suchfenster kopiert und „OK“ gedrückt. Windows löst das dann selber auf.
Anders als im Internet behauptet muss man hier nicht alle Berechtigungen setzen. „Lokal“ … sollte für einen alleinstehenenden SQL-Server – also kein Cluster – ausreichen.