Schemabesitzer was hat das für Auswirkungen

10/12/2009 - 22:32 von Frederick Steinke | Report spam
Hallo ich habe eine hoffentlich simple Frage aber ich sehe den Wald vor
lauter Bàumen nicht mehr.

Was hat es für einen Vorteil wenn ein User ein Schema besitzt. Also ich
meine was darf er was andere nicht machen? Habe alles mögliche durchsucht
und immer nur Texte gefunden wie ... der User ist Besitzer des Schemas ...
etc.

Dankbar bin ich auch wenn mir jemand einen Linke senden kann wo genau das
erlàutert ist. Also nicht was ist ein Schema ... das ist klar. sondern was
darf ein Schmabeitzer.

Wàre toll wenn mir da jemand Licht ins Dunkel bringen könnte.

Danke für jeden TIp.

Gruß Frederick
 

Lesen sie die antworten

#1 Christoph Muthmann
11/12/2009 - 09:20 | Warnen spam
Frederick Steinke wrote:
Hallo ich habe eine hoffentlich simple Frage aber ich sehe den Wald
vor lauter Bàumen nicht mehr.

Was hat es für einen Vorteil wenn ein User ein Schema besitzt. Also
ich meine was darf er was andere nicht machen? Habe alles mögliche
durchsucht und immer nur Texte gefunden wie ... der User ist Besitzer
des Schemas ... etc.

Dankbar bin ich auch wenn mir jemand einen Linke senden kann wo genau
das erlàutert ist. Also nicht was ist ein Schema ... das ist klar.
sondern was darf ein Schmabeitzer.

Wàre toll wenn mir da jemand Licht ins Dunkel bringen könnte.

Danke für jeden TIp.



Hallo Frederick,
was ein Schema bringt hàngt von verschiedenen Einstellungen ab. Vergibst Du
Rechte auf Datenbank-Ebene, sind diese automatisch für jedes Schema gültig.
Beispiel Mitglieder der Rolle db_datareader dürfen alle Tabellen lesen.
http://msdn.microsoft.com/de-de/lib...87940.aspx
GRANT-Schemaberechtigungen (Transact-SQL)

CONTROL SCHEMA beinhaltet alle einzelnen Schema-Berechtigungen.

Vergibt man also keine datenbankweiten Berechtigungen kannst Du die Schemata
verwenden, um Tabellen vor Zugriff zu schützen. Du kannst für einzelne
Objekte Rechte vergeben, für Schemata oder für die Datenbank.

Schaust Du Dir hier die Berechtigungsmöglichkeiten an, findest Du z. B. für
SCHEMA kein CREATE TABLE.
http://msdn.microsoft.com/de-de/lib...ermissions
Berechtigungen (Datenbankmodul)
Das müßte man also auf Datenbank-Ebene vergeben, wobei man in der Regel ja
keine Entwickler auf produktive Systeme làßt!

Ich verwende Schemata in der Regel um logische Einheiten innerhalb einer
Datenbank abzutrennen. Z. B. Buchhaltung, Personal, Einkauf

Ausserdem kann man Schemata dazu verwenden, diese als Default-Schema bei
einem User anzugeben. ein Create Table oder Select landet automatisch in dem
Default-Schema. Andere müßten das Schema dort explizit angeben.



Einen schönen Tag noch,
Christoph
Microsoft SQL Server MVP
http://www.insidesql.org

Ähnliche fragen