[Gelöst] Starten des Clients beendet den laufenden Dienst

8. Mai 2014 10:51

Beim Wechsel von Datenbanken zur Testzwecken hatte ich schon häufiger das Problem, dass der Start des NAV 2013 R2 Clients den laufenden Dienst beendet, wenn der Datenbankname nicht dem Vorgabenamen "Demo Database NAV (7-1)" entspricht.
Den ändere ich jeweils in der CustomSettings.config im Serververzeichnis (über das ServiceTierAdministration-Tool).
Es erscheint dann erst:
"Eine Verbindung mit dem Server wurde herstellt. Der Arbeitsbereich wird vorbereitet..."
Das klingt ja erst mal noch positiv :wink:
aber nach ca. einer halben Minute sinngemäß
"Der Server ist momentan nicht für Anforderungen bereit." etc. weil der Dienst dann schon wieder beendet wurde.

Sobald der Vorgabename "Demo Database NAV (7-1)" in der Configdatei steht, funktioniert es.
Kennt jemand die Ursache für das Problem? Wo muss der abweichende Datenbankname noch eingetragen werden, damit der auch akzeptiert wird?

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 11:15

Hallo,

hat der Dienst auch die Windows Berechtigungen auf die andere DB?

Schalte mal vom Dienst bitte den Debugger aus, ob es evtl daran liegt.

Ansonsten müsstest du dir das Ereignisprotokoll anschauen, ob das nähere Informationen her gibt.

Gruß
Aydin
Zuletzt geändert von aydina81 am 8. Mai 2014 11:24, insgesamt 1-mal geändert.

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 11:21

Arbeitsbereich wird vorbereitet hört sich nach dem eingeschalteten Debugging an wie unter NAV 2009 wenn man den RTC debuggen wollte. Kann er evtl. keine .cs Dateien anlegen? Ansonsten prüf doch mal mittels SQL Profiler, wo der hängen bleibt? Manchmal hat man in einigen Datenbanken auch korrupte Tabellen die ähnliche Meldungen auswerfen.

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 12:01

Danke für die Hiweise.
Debugger ist keiner aktiv.
aydina81 hat geschrieben:Ansonsten müsstest du dir das Ereignisprotokoll anschauen, ob das nähere Informationen her gibt.

Da steht:
Server instance: DynamicsNAV71
The service could not add service principal names because the service account could not be found in Active Directory.

Server instance: DynamicsNAV71
'Microsoft Dynamics NAV Service' unter 'net.tcp://xxxlocal:7245/DynamicsNAV71/ManagementService' wurde beendet.


Die Datenbanken sind alle lokal bei mir auf dem Notebook innerhalb des gleichen SQL-Servernamens.
Der Service Principal Name scheint ja die Ursache zu sein, aber lt. diesem Artikel trifft das eigentlich nur zur wenn Server und Dienst auf getrennten Maschinen laufen. Das ist bei mir ja nicht der Fall.
Kine's Blogartikel dazu: Dynamics NAV 2009 and SPNs

ipeon hat geschrieben:Manchmal hat man in einigen Datenbanken auch korrupte Tabellen die ähnliche Meldungen auswerfen.

Daran kann es hier nicht liegen, das sind ganz frische DB, die jeweils aus den Backups der Produkt-CD erstellt wurden und in die nur noch ein paar korrekte und kompilierte Addon-Objekte eingespielt werden.

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 12:11

Und schon einmal durchkompiliert alle Objekte?

Manchmal bringt es immer ein Wunder :-)
Vor allem in R2;-)

Was du mal noch testen kannst ist, wenn der Dienst mit deinem Account läuft. Ob das ein Unterschied macht.

Gruß
Aydin

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 12:23

Das hört sich stark nach fehlenden Berechtigungen an (db_owner) für den Dienst-Benutzer...

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 14:09

:cry:
dbo für das NAV-Server Dienstkonto? Im Ernst?

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 14:54

SilverX hat geschrieben:Das hört sich stark nach fehlenden Berechtigungen an (db_owner) für den Dienst-Benutzer...

Vermutlich, ich muss wohl die Schritte in diesem Artikel ausführen.
Provisioning the Microsoft Dynamics NAV Server Account
Das erklärt dann auch die Fehlermeldung zum Service Principal Name im Protokoll, siehe Abschnitt: Enabling the account to register an SPN on itself. Das muss dann also auch lokal beachtet werden.
Es wäre natürlich schöner, wenn man beim Clientstart eine brauchbare Fehlermeldung erhalten würde und der Dienst nicht einfach sang- und klanglos die Arbeit einstellt :mrgreen: .

Re: Starten des Clients beendet den laufenden Dienst

8. Mai 2014 17:12

Beginnend mit Dynamics NAV 2013 R2 wird db_owner Berechtigung vorausgesetzt. Unter anderem wird ja auch das Schema auf den SQL Server synchronisiert.

Kai, die Einrichtung ist nicht zwingend erforderlich (abgesehen von der Berechtigung im SQL Server für den Account), wenn du nur mit dem Windows Client arbeitest. Deshalb sind es nur Warnungen. Die haben mit dem Problem nichts zu tun. Aber empfehlenswert ist es natürlich schon.

Re: Starten des Clients beendet den laufenden Dienst

18. Juni 2014 10:06

Da eine Kollegin eben genau das gleiche Problem hatte, konnten wir das noch mal einzeln nachstellen:

  • SQL Server Management Studio starten
  • Datenbankmodul verbinden
  • Sicherheit>Anmeldungen -> hier das Dienstkonto wählen
SicherheitAnmeldungen.png

  • Rechtsklick>Eigenschaften
  • Im Fenster "Anmeldungseigenschaften" bei "Seite auswählen" auf Eintrag "Benutzerzuordnung" gehen
  • Rechts die neue Datenbank auswählen
  • Für neue Datenbank im Feld Standardschema "dbo" eintragen und bei "Mitgliedschaft in Datenbankrolle" Häkchen bei "db_owner" setzen.
Benutzerzuordnung.png


Bei NAV 2013 geht es noch ohne db_owner:
Manually restoring the NAV 2013 Demo Database
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.