none
Datenbank unsichtbar machen?! RRS feed

  • Frage

  • Hallo an alle!

    Ich habe folgende Frage zum Verstecken von Datenbanken auf dem SQL Server 2008 R2.

    Szenario:

    • Es existieren auf meinem Server die Datenbanken A und B.
    • Auf Datenbank A hat der User lesenden Zugriff.
    • Auf Datenbank B hat der User lesenden und schreibenden Zugriff.

    In meinem Fall soll für den User allerdings nur Datenbank A sichtbar sein. D.h. Datenbank B soll versteckt (hidden) sein, die Lese-/Schreibberechtigung soll jedoch bestehen bleiben.

    Gibt es eine Möglichkeit dies im SSMS einzurichten?

    Grüße,

    fab

    Dienstag, 3. Juli 2012 07:10

Antworten

  • Hallo fab,

    was bitte meinst Du genau mit "sichtbar"; das es bei Abfrage von sys.databases nicht mit erscheint.

    Grundsätzlich geht es so granular nicht, entweder ganz (alle) oder gar nicht (keine) und das kann man über die VIEW ANY DATABASE-Berechtigung steuern.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Dienstag, 3. Juli 2012 07:14
  • Hallo,

    Nein, grundsätzlich bekommt ein User alle Datenbanken zu sehen, egal ob er für diese Zugriffsrechte hat oder nicht. Wie schon gesagt, wenn man VIEW ANY DATABASE Berechtigungen verweigert, bekommt er keine Datenbank mehr zu sehen, auch die nicht, für die er Zugriffsrechte hat.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Dienstag, 3. Juli 2012 07:49

Alle Antworten

  • Hallo fab,

    was bitte meinst Du genau mit "sichtbar"; das es bei Abfrage von sys.databases nicht mit erscheint.

    Grundsätzlich geht es so granular nicht, entweder ganz (alle) oder gar nicht (keine) und das kann man über die VIEW ANY DATABASE-Berechtigung steuern.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Dienstag, 3. Juli 2012 07:14
  • Hi,

    ich meine damit, dass ein User, wenn er sich beispielsweise über Excel auf den Server connected nur die Datenbank A angezeigt bekommt und Datenbank B für ihn unsichtbar bleibt.

    Ist das möglich?

    Gruß

    Dienstag, 3. Juli 2012 07:41
  • Hallo,

    Nein, grundsätzlich bekommt ein User alle Datenbanken zu sehen, egal ob er für diese Zugriffsrechte hat oder nicht. Wie schon gesagt, wenn man VIEW ANY DATABASE Berechtigungen verweigert, bekommt er keine Datenbank mehr zu sehen, auch die nicht, für die er Zugriffsrechte hat.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Dienstag, 3. Juli 2012 07:49
  • Wie werden die Schreibzugriffe auf die Datenbank B vorgenommen? Ebenfalls über Excel? Oder hast Du dafür eine Anwendung, die der Benutzer ausführt, um die Daten in der Datenbank B zu bearbeiten?

    Evtl. lässt sich das über eine zweite SQL Server Instanz lösen. Über die Sichtbarkeit von Datenbanken innerhalb des gleichen Servers geht das vermutlich nicht.

    Gruss

    Henry


    Dienstag, 3. Juli 2012 07:55
  • Hi,

    In die Datenbank B wird mittels einer anderen Anwendung geschrieben.

    Der Umweg über eine zweite Instanz soll nicht genommen werden.

    Gruss

     

    Dienstag, 3. Juli 2012 14:05
  • Hallo,

    dann hast Du keine andere Möglichkeit, man kann sonst keine Datenbanken für User "unsichtbar" machen, ausser die schon erwähnte.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Dienstag, 3. Juli 2012 15:27
  • Habe es jetzt über VIEW ANY DATABASE DENY gelöst. Die Anwender können, sofern sie den Server und die Tabelle kennen dann trotzdem via Excel-Connection-String connecten.

    Danke nochmals,

    Grüße Fabi

    Dienstag, 10. Juli 2012 06:35