CC/SQL: Änderung Schlüssel erfordert Sync Zugriffsrechte?

30. April 2015 11:32

Hallo,

wir haben ein Problem mit NAV 2009 R2 (Classic Client und SQL Server, es handelt sich um ein technisches Update von NAV 4.0). Nach dem Einspielen einiger Objektänderungen (in den Artikelposten wurde ein Schlüssel um ein Feld ergänzt) tritt folgendes Phänomen auf:

Einzelne User (aber auch nicht alle) bekommen Fehlermeldungen, dass sie keine Lesezugriffsrechte auf die Tabelle Artikelposten haben (jedesmal wenn das System lesend darauf zugreift, z.B. in den Aufträgen, Artikelkarte, etc.). Die User haben aber teilweise Super-Rechte. Ab- und Anmelden hilft nicht, einzige Lösung: Zugriffsrechte synchronisieren, danach funktioniert alles wieder normal.

Es scheint, als würde der Server nach dem Einspielen der Objekte irgendetwas nicht mitbekommen, aktualisieren, etc. Das Problem trat laut Navision-Partner früher nie auf (der Server wurden allerdings auch vor kurzem neu aufgesetzt), und leider weiß der Navision-Partner auch keine Lösung und kennt dieses Problem überhaupt nicht.

Ich bin als Entwickler erst seit einigen Wochen in der Firma und frage mich jetzt: Muss ich damit rechnen, dass bei jeder meiner Änderungen an Tabellen die User Probleme bekommen, bzw. Zugriffsrechte immer synchronisiert werden müssen? Ist ein solches Problem in irgendeiner Form bekannt, gibt es einen Workaround, muss evtl. am Server etwas anders konfiguriert sein, etc.?

Vielen Dank schon mal für jeden Tipp!

Re: CC/SQL: Änderung Schlüssel erfordert Sync Zugriffsrechte

30. April 2015 14:29

Welche "Security Model" wird in NAV verwendet? Ich empfehle dringend "Standard"!

Re: CC/SQL: Änderung Schlüssel erfordert Sync Zugriffsrechte

30. April 2015 15:13

Normales Verhalten von Navision bei Sicherheitsmodell "Erweitert".

Änderung an Tabellenobjekten z. B. Änderung am Schlüssel -> die Benutzer haben keine Rechte mehr auf das Objekt zuzugreifen da die hierfür vorhandenen Berechtigungsrollen auf SQL Server Ebene gelöscht wurden.
Somit können Tabellenänderungen auch nicht im Livebetrieb eingespielt werden (soweit sinnvoll und vertretbar), da die Synchronisation relativ lange dauert (auf unserem System ca. 45 Minuten für 30 User) und während dem Synch die Anwender Fehlermeldungen erhalten, da die Berechtigungstabelle nicht gelesen werden kann.

Kann Stryk nur zustimmen ... und Umstellung auf "Standard" empfehlen ... haben wir vor kurzem gemacht, funktioniert wunderbar ;) wenn ein Synch erforderlich ist läuft der in 1 Sekunde durch.

Erweitert: Navision UND der SQL Server kennen die Tabellenberechtigungen.
Standard: Nur Navision kennt die Tabellenberechtigungen, auf SQL Server Ebene hat kein User direkt Rechte um Tabellendaten zu lesen.

Wenn Drittapplikationen direkt auf die SQL Datenbank zugreifen (Intranet & Co.) können hierfür Datenbankbenutzer verwendet werden.

Re: CC/SQL: Änderung Schlüssel erfordert Sync Zugriffsrechte

30. April 2015 15:26

Kozure hat geschrieben:Erweitert: Navision UND der SQL Server kennen die Tabellenberechtigungen.
Standard: Nur Navision kennt die Tabellenberechtigungen, auf SQL Server Ebene hat kein User direkt Rechte um Tabellendaten zu lesen.


Das ist so nicht richtig!

Standard:
erfordert xp_ndo_enumusersids
==> es wird eine einzige SQL "Application Role" für die DB erstellet - "$ndo$shadow". Diese Rolle enthält soz. alle "übersetzten" NAV Tabellenzugriffsrechte in SQL. Sobald eine Tabelle erstellt/geändert wird, werden die SQL Rechte sofort in dieser AR verankert; es ist keine explizite Synchronisierung erforderlich.
Alle NAV Logins verwenden die selbe AR.

Erweitert:
erfordert xp_ndo_enumusergroups
==> für jedes NAV Login wird eine separate AR erstellt ("$ndo$ar${guid}"). Jede AR enthält pro Login die übersetzten SQL Rechte.
Bei Tabellenänderungen etc. müssen ALLE diese Rollen explizit synchronisiert werden; d.h. alle AR werden dabei gelöscht und neu aufgebaut (und das dauert ätzend lange).

Weitere Unterschiede siehe NAV Doku.

Außerhalb dieser "Application Roles" hat jeder NAV User per se nur "public" Rechte auf dem SQL Server (also kein Zugriff auf Tabellen etc. möglich); egal ob "Standard" oder "Erweitert". Möchten diese User direkt auf die Tabellen zugreiffen, dann müssen die SQL-seitigen Rechte explizit vergeben werden.

Re: CC/SQL: Änderung Schlüssel erfordert Sync Zugriffsrechte

30. April 2015 15:47

Ich habs mit meinen einfachen Worten aus Sicht eines Anwenderusers formuliert ;) ... nicht das jemand denkt daß jetzt alle plötzlich Zugriff auf Personal- oder Finanzdaten mit einer direkten Datenbankabfrage haben.

Technisch ist die Umsetzung nachtürlich komplexer wie von Dir beschrieben ...

Re: CC/SQL: Änderung Schlüssel erfordert Sync Zugriffsrechte

8. Mai 2015 17:17

Vielen, vielen Dank!

Habe leider keine Emailbenachrichtigung erhalten, deshalb jetzt erst eure Antworten gesehen. Wir werden das testen, und dann gebe ich eine Rückmeldung.

Aber wieso weiß das der Navision-Partner nicht...?

Re: CC/SQL: Änderung Schlüssel erfordert Sync Zugriffsrechte

9. Mai 2015 10:07

[quote="Joni"Aber wieso weiß das der Navision-Partner nicht...?[/quote]
Das wollen wir öffentlich mal lieber nicht kommentieren :twisted:

PS: Ich halte auch Schulungen in Sachen NAV/SQL