SQL-Zugriff eingeschränkt?!

Bernd

Neuer Benutzer
Beiträge
4
Hallo Zusammen,

für unseren Etikettendruck nutzen wir die Etikettensoftware NiceLabel.
Diese haben wir auf einem Server mit Microsoft SQL Server 2017 Express installiert.

Mit der Installation der NiceLabel Software wird die DB "NiceAN" installiert. In dieser werden alle Dateien, Grafiken, etc. abgespeichert.
Auf der NiceLabel Internetseite können die spezifischen Zugriffrechte und Rollen den einzelnen Mitarbeitern hinterlegt werden.

Der Druckprozess auf den lokalen PC funktioniert einwandfrei und auf die entsprechenden Dateien und Grafiken können ohne Probleme vom Server abgerufen werden.

Jetzt würden wir gerne den Etikettendruckprozess optimieren, in dem wir die Druckdatensätze als CSV-Datei aus SAP exportieren und diese in eine SQL-Tabelle importieren.
Hierzu haben wir eine neue DB "DruckdatenSAP" und die gleichnamige Tabelle auf dem Server installiert.
Die Tabelle wird dann wiederum bei der Druckmaske integriert. (Dies funktioniert mit dem Admin-User auf dem Server einwandfrei).

Problem: Lokal User
Obwohl, wie oben beschrieben, der lokale User auf den Server und die darin enthaltenen Dateien, etc. zugreifen kann und auch die Anmeldung im Microsoft SQL Server Management Studio mit Angabe der lokalen IP-Adresse, des verwendeten Ports (1433) und dem Instanznamen des Servers (SQLEXPRESS) einwandfrei funktioniert, erhalte ich folgende Fehlermeldung, wenn ich die Druckmaske mit der enthaltenen Tabelle aufrufe:

Verbindung zu folgenden Datentabellen konnte nicht hergestellt werden: DS-APPS8-5\SQLEXPRESS\DruckdatenSAP:DruckdatenSAP

Auch wenn ich die SQL-Datenbank mit dem lokalen User in eine Druckmaske einbinden möchte, wird mir die Serverinstanz nicht angezeigt?!

Ich weiß wirklich nicht wo hier genau das Problem im Hafer liegt und hoffe um Hilfe von Euch!

Ps.: Die Berechtigung auf die neue DB und Tabelle über das MSSS indem ich auch den lokalen User neu angelegt habe ich ohne Erfolg versucht.

Mit freundlichen Grüßen
Bernd.
 
Werbung:
Ich weiß nicht, ob ich was übersehen habe, aber Du schreibst nirgends, wie "die (Druck)Maske" auf die neue, lokale DB zugreift, also mit welchem Login / User. Ob auf Servern irgendwelche Admins das können, sagt nichts darüber, was "die Maske" kann / in welchem Userkontext sie läuft.

Wenn das Programm, das auch die (überarbeitete) Druckmaske enthält, gewöhnlich mit Domaine Rechten ausgeführt wird, dürften die nicht ohne weiteres für eine lokale DB gelten.
 
Hallo dabadepdu,

vielen Dank für deine schnelle Rückmeldung. Ich versuche nochmal die bestehende Struktur aufzuzeigen:

Server (Name: "ds-apps8-5")
1. Microsoft SQL Server 2017 Express (mit Port 1433) auf Server installiert.
2. Etikettensoftware NiceLabel inkl. web-basierter Anwendung (mit WebDAV-Port 8080) auf SQL Server installiert.
Außerdem wird zudem die NiceLabel DB "NiceAN" auf dem SQL Server eingerichtet.
Diese DB enthält am Ende die Dateien und Daten, die die berechtigten Mitarbeiter lokal über die web-basierte Anwendung oder über den WIN-Explorer über das Netzwerk abrufen können.
Ebenfalls erstellt NiceLabel auf dem Server noch den User "EPM_USER".
3. Mit dem Admin-User wurde im Microsoft SQL Server Studio die neue DB und Tabelle mit dem jeweiligen Namen "DruckdatenSAP" erstellt.


Lokaler Benutzer
Beim lokalen Benutzer vermute ich, daß hier noch Zugriffsberechtigungen zum Server fehlen:

WIN-Explorer
1. Beim Pfad: "\\ds-apps8-5\" -> Ergebnis = leerer Ordner
2. Beim Pfad: "\\ds-apps8-5@8080\" -> Ergebnis = Fehlermeldung: kein Zugriff
3. Beim Pfad: "\\ds-apps8-5@8080\davwwwroot\ -> Ergebnis = Ordner erhält die Ordner, Dateien und Daten der web-Anwendung bzw. der DB "NiceAN"

NiceLabel Software (z.B. zur Erstellung der Druckmaske)
1. Server mit Admin-User: Bei der Einbindung der SQL-Datenbank, kann in der Dropdown-Liste die SQL-Server-Instanz ausgewählt und die DB/Tabelle eingegeben werden, sodass eine Verbindung hergestellt werden kann.
2. Lokaler PC mit WIN-USER: Die SQL-Server-Instanz kann nicht ausgewählt werden.

Für Details der DB-Einbindung und der Server-DB + User siehe Datei im Anhang.

Bei Fragen einfach melden.

Vielen Dank.
Bernd.
 

Anhänge

  • Server_NiceLabel.pdf
    186,9 KB · Aufrufe: 4
Gut, das sind schon einige Informationen, aber irgendwie einige Begrifflichkeiten (speziell "User" und "Server") etwas unklar.

User
Unter Windows (bzw. MSSQL) ist es so, es gibt SQL User und Windows User. Windows User können wiederum lokale User sein oder sogar entfernte oder eben Domaine User.

Server
können lokale oder Domänen Server sein, sie können SQL DB hosten oder Files, also File Server sein oder SQL Server sein oder beides und dies gemäß ihres Status lokal oder Domänen weit tun. Häufiger Irrtum: für die Nutzung einer DB sei Dateizugriff des Users von Nöten, die Idee stammt vermutlich aus alten Access Zeiten. Server können auch einfach ein Synonym für ein Stück Hardware sein.

Bilder (Screenshots) sind oft unpräzise und schlecht weiterzuverarbeiten, außer durch I oder KI.
Beide im PDF gezeigten DB zeigen offenbar einen/den identischen User ..EPM_User. Aber was darf der?

In meiner Welt muss ein User eine Role gegranted bekommen oder einzelne Rechte oder er erbt als Domaine User irgendwas Undurchsichtiges. (Zumindest nicht mit einem Screenshot darstellbar)
Es müsste auch in MS SQL möglich sein, per Grant-Anweisung einem User das Recht zu geben, Daten aus einer Tabelle zu selektieren.
Umgekehrt müsste es auch möglich sein, diese Rechte per SQL abzufragen.

Ich kann Dir leider mangels aktuellen MS Anwendungen nicht sagen, an welcher Stelle Du klicken musst oder im Objektbaum auf das + drücken musst. Aber vielleicht hilft Dir der Gedanke, dass (auch) ein Windows User am Ende explizit Rechte erhalten muss. (Ausnahme, der Nutzer ist Ersteller dessen, worum die Zugriffsfrage geht)
 
Hallo dabadepdu,

ok, ich habe mir gestern nochmals die Firewall-Einstellungen angeschaut und die Berechtigungseinstellungen im Microsoft SQL Server Management Studio.

Nachdem ich auf dem Server den Dienst SQL Browser aktiviert habe und den Port 1434 in der Firewall freigegeben habe, habe ich es jetzt hinbekommen, daß der User "wendle_b1" Zugriff auf die SQL-Datenbank und Tabelle "Druckdaten_SAP" hat.
Eigentlich wollte ich aber es vermeiden diesen Dienst zu aktivieren, da der Zugriff auf die DB NiceAN ebenfalls ohne diesen Dienst funktioniert.

Bei der Installation der NiceLabel web-Anwendung wird unter anderem auch der ...EPM_User installiert. Die web-Anwendung nutzt zentral diesen User um auf die DB "NiceAN" zuzugreifen. Ich habe auch versucht diesem User die Berechtigung zu erteilen, umEPM auf die DB Druckdaten_SAP zuzugreifen. Dabei erhalte ich jedoch die Fehlermeldung, dass dieser User nur auf nan.tabellen (in NiceAN enthalten) aber nicht auf dbo.tabellen (in Druckdaten_SAP enthalten) zugreifen kann.

Wenn ich jetzt unbedingt den Dienst SQL Browser auf dem Server aktivieren und freigeben muss, dann ist es so. Und wenn ich jeden User in der Server-Security aufnehmen muss, damit diese auf die DB Druckdaten_SAP zugreifen können, dann ist das auch ok, da diese überschaubar sind.

ABER was ich bisher nicht verstehe und nicht hinbekomme ist, warum ich mit dem lokalen User nicht die "externe" (identische Domain) Server Instanz anwählen und bei der Software-Anwendung einbinden kann?!?!?

Kannst du mir hier vielleicht noch einen Rat geben, woran dies liegen kann?

Vielen Dank

Gruß Bernd.
 
Es gibt hier durchaus MS Kenner, die die Frage wahrscheinlich besser beantworten können als ich.

Der SQL Browser Dienst kommt eigentlich ins Spiel, wenn ein Server (eine Maschine) mehrere Instanzen von SQL Server betreibt.
Eine einzige Instanz wird mit Defaultangaben unter Default Port angesprochen, da macht der Dienst keinen Unterschied.

Bei mehr als einer Instanz hilft der Dienst freundlich beim Zugriff, ebenso bei dynamischen Ports. Anscheinend so, dass man nicht weiter drüber nachdenken muss, wem man was wie bereitstellt. Typisch MS Komfort Zone. Ob das jetzt ein Plus ist oder nicht, sei dahin gestellt. Vielleicht gibt Dir das schon einen Hinweis in die richtige Richtung.
 
Werbung:
Genauso hatte ich das mit dem SQL Browser auch in Erinnerung aber sobald ich diesen auf dem Server, bei dem nur eine Instanz existiert, deaktiviere, geht der Zugriff nicht mehr. Aber ich werde hier auch nochmals bei Gelegenheit mal Testen, wie dies optimieren kann.

Den lokalen Zugriff auf den Server habe ich jetzt doch hinbekommen, nachdem ich den Serverpfad mit der IP-Adresse statt dem Instanznamen manuell angegeben habe:). Wie vermutet liegt die Lösung im Detail;-).

Danke für die Unterstützung!

Mit freundlichen Grüßen
Bernd.
 
Zurück
Oben