Für die Rolle db_denycustomer
möchte ich, dass nur der Spaltencode der Kundentabelle AUSWÄHLBAR ist und keiner der anderen. Also habe ich das gemacht:
DENY SELECT ON dbo.customer TO db_denycustomer
GRANT SELECT ON dbo.customer (code) TO db_denycustomer
... und es funktioniert gut. Cool! Aber warum ?
Was ich in verwandten Artikeln gelesen habe, ist, dass Berechtigungen gestapelt werden, aber DENY
Vorrang haben. Im Gegensatz dazu scheint in meinem Fall die letzte Berechtigungs- "Abfrage" Vorrang zu haben. Sicher genug, wenn ich sie in umgekehrter Reihenfolge ausführe, DENY
verbirgt letzterer auch die Codespalte.
Könnten Sie das bitte näher erläutern?
Ich habe dem Benutzer, mit dem ich getestet habe, auch die Standardeinstellungen db_datawriter
und db_datareader
Rollen hinzugefügt.