回答:
固定データベースロールは、データベース全体に対する権限を提供します。ユーザーにすべてのデータベースへのアクセス許可を付与したくない場合は、その一部のみをカスタムロールとして使用します。
たとえば、db_datareaderは、そのデータベース内のすべてのテーブル、ビューなどに対するSELECTパーミッションを提供します。コンプライアンス上の理由から、人事担当者はSELECTのみを実行でき、他のスタッフは実行できないようにするテーブルまたはビューがいくつかある場合があります。これは通常、カスタムの役割が関係する場所です。
いいえ、カスタムデータベースロールは、より特殊化されており、環境や要件に合わせてカスタマイズされていることを除いて、それを支持する理由はないと思います。開発者は標準的な製品を見て、それが仕事に合うかどうか-完璧です!しかし、そうでない場合は、カスタマイズする時です!
実用的な理由、特にdb_datareaderとdb_datawriterの場合
他のdbロールは実際には使用されていません。