Untuk peran itu db_denycustomer
, saya hanya menginginkan kode kolom tabel pelanggan yang akan SELECTable, dan tidak ada yang lain. Jadi saya melakukan ini:
DENY SELECT ON dbo.customer TO db_denycustomer
GRANT SELECT ON dbo.customer (code) TO db_denycustomer
... dan itu berfungsi dengan baik. Keren! Tapi mengapa ?
Apa yang saya baca di artikel terkait adalah bahwa izin menumpuk, tetapi DENY
diutamakan. Sebaliknya, dalam kasus saya, sepertinya "izin" izin terakhir diutamakan. Benar saja, jika saya menjalankannya dalam urutan terbalik, yang terakhir DENY
menyembunyikan kolom kode juga.
Bisakah Anda jelaskan ini?
Saya juga menyertakan default db_datawriter
dan db_datareader
peran ke pengguna yang saya uji.