2009-11-11 4 views

Antwort

8

Rollen wäre der Weg, hier zu gehen. Rollen sollten immer dann verwendet werden, wenn Sie Gruppen haben (d. H. Depts. In Ihrem Fall), die bestimmte Benutzerrechte für Tabellen benötigen, unabhängig davon, in welchem ​​Schema sie sich befinden. Dadurch werden Fehler vermieden und die Arbeit des DB-Administrators erleichtert.

Stellen Sie sich Rollen als Gruppierungen für Benutzer und die zugehörigen Rechte für diese Benutzergruppe vor, während Schemas zum logischen Gruppieren von Datensätzen dienen.

bearbeitet basierend auf Benutzerkommentar:

Sie können, aber der Zugang zu einer bestimmten Tabelle zu begrenzen Schema verwendet, ist vielleicht nicht der beste Weg, um darüber nachzudenken. Schemas werden zum Gruppieren von Daten verwendet. Sie können also ein "Verkaufsschema" mit Tabellen, Prozeduren usw. haben, die vom Verkaufsteam benötigt werden. Sie können dann GRANT SELECT ON SCHEMA::sales TO salesRole; sagen, wo Sie ein Schema als Verknüpfung verwenden, um einer Gruppe von Benutzern Berechtigungen zu erteilen, bei denen jeder Vertriebsmitarbeiter die Rolle salesRole erteilt hat. Jede Tabelle, die später im Verkaufsschema erstellt wird, kann auch von den Benutzern mit dieser Rolle ausgewählt werden. Wenn das Verkaufsteam nur diese Rolle verwendet und keine anderen Berechtigungen besitzt, kann eine in einem anderen Schema erstellte Tabelle von diesen Benutzern nicht verwendet werden. Wenn Sie das unter "Einschränkung des Zugriffs mithilfe von Schema" verstehen, dann ja, aber ich ziehe es vor, es als Benutzer zu betrachten, dem keine Rechte durch eine Rolle oder eine explizite Zuteilung gewährt werden. Hoffe, dass dies zur Klärung beiträgt.

+0

Haben Sie Ihren Punkt, Danke. Kann ich einigen Benutzern den Zugriff auf eine bestimmte Tabelle nur mithilfe von Schema einschränken? –

0

Sie können eine Kombination aus beidem verwenden. Verwendet ein Schema, um Objekte zu trennen, die logisch gruppiert sein können. Verwendet Rollen, um unterschiedliche Zugriffskonfigurationen zu erstellen und den Schemas Zugriff auf die Rollen zu gewähren, die Sie bereits erstellt haben (gemäß Ihrer Geschäftslogik).

Verwandte Themen