Jawaban:
Peran basis data tetap memberikan izin ke seluruh basis data. Peran khusus mulai dimainkan saat Anda tidak ingin memberikan izin kepada pengguna ke semua database, hanya sebagian saja.
Misalnya, db_datareader memberikan izin SELECT ke setiap tabel, tampilan, dll dalam basis data itu. Untuk alasan kepatuhan mungkin ada beberapa tabel atau pandangan bahwa staf SDM hanya dapat memilih dari dan staf lain tidak boleh. Di situlah biasanya peran khusus ikut bermain.
Peran basis data standar sangat bagus untuk basis data di mana hanya ada beberapa pengguna atau ketika tidak ada tim DBA untuk mengelola izin. Namun, jika ada beberapa pengguna dengan tim basis data besar dan data sensitif, akan lebih bijaksana untuk membuat peran khusus sehingga Anda tahu siapa yang melihat apa.
Ketika datang ke keamanan data (dan database), Anda ingin mengunci semuanya sebanyak mungkin dan masih membiarkan semua orang dapat melakukan pekerjaan mereka tanpa tantangan besar. Peran khusus sesuai dengan tagihan ini dengan cukup baik.
Tidak, saya rasa tidak ada alasan untuk mendukung peran basis data khusus KECUALI perannya lebih khusus dan disesuaikan dengan lingkungan dan persyaratan Anda. Pengembang akan melihat penawaran standar, dan jika cocok dengan pekerjaan - sempurna! Tetapi jika tidak, saatnya untuk menyesuaikan!
Alasan praktis, terutama dengan db_datareader dan db_datawriter
Peran db lainnya tidak benar-benar digunakan yang saya temukan