2016-11-29 2 views
0

Ich arbeite an dem Einrichten von Sicherheitsberechtigungen für eine bestimmte Datenbank in SQL Server Management Studio. Eine spezielle Anforderung ist, dass eine bestimmte Datenspalte nicht in der spezifischen Benutzerrolle angezeigt werden darf.Wie blenden Sie eine bestimmte Spalte in einer Tabelle in SQL Server Management Studio aus?

Wir möchten, dass die Tabelle für die Benutzerrolle sichtbar ist, wir möchten jedoch nicht, dass eine bestimmte Datenspalte von dieser Benutzerrolle angezeigt werden kann.

Wie gehe ich vor, um diese Spalte für diese bestimmte Benutzerrolle zu verbergen?

Ist es durch eine Abfrage oder ist es innerhalb der Berechtigungen für diese bestimmte Tabelle?

+0

Welche Version von SQL Server verwenden Sie? – trailmax

+1

Erstellen Sie eine Ansicht, die diese Spalte ausschließt. – jarlh

+0

@trailmax Es ist SQL Server 2012 –

Antwort

5
  • Create a view auf dem Tisch, die nicht die Spalte, die Sie ausblenden möchten nicht wählen, verwenden Sie die CREATE VIEW Anweisung.

    Erstellt eine virtuelle Tabelle, deren Inhalt (Spalten und Zeilen) durch eine Abfrage definiert wird. Verwenden Sie diese Anweisung, um eine Ansicht der Daten in einer oder mehreren Tabellen in der Datenbank zu erstellen.

  • Grant permissions für diese Ansicht für die Rolle, mit dem GRANT Befehl.

    Erteilt einem Principal Berechtigungen für ein zu sicherndes Element.

  • Deny permissions auf dem Tisch für die Rolle, mit dem DENY Befehl.

    Verweigert einem Prinzipal eine Berechtigung. Verhindert, dass der Prinzipal die Berechtigung durch seine Gruppen- oder Rollenmitgliedschaften erbt.

+0

Also ging ich zum Datenbankordner, dann rechts auf Ansichten geklickt und angeklickt eine neue Ansicht erstellen. Also habe ich alle Spalten hervorgehoben, die ich behalten möchte, und die Spalte verlassen, die ich nicht unkontrolliert sehen möchte. Wohin gehe ich von hier, um die Berechtigungen zu erteilen und dann die Berechtigungen zu verweigern, da ich etwas verwirrt bin. –

Verwandte Themen