2017-12-03 4 views
-1

ドメインユーザーにsysadminロールを割り当てずに、SQL Server 2012で行を挿入/更新します。ユーザーは、データベース内のdb_writer会員db_readerSQL Serverがsysadmin以外の行を挿入できない

行の挿入/更新通常

ドメインユーザーは、システム管理者の役割を与えられていない場合はエラーがないが、何行が挿入されていない/更新

+1

実行中のコードを表示します。また、関連する表定義およびそれらの表のトリガー。 – RBarryYoung

答えて

0

チェックを持っている、これはあなたを助けるかもしれませんアクセスを与える

db_datawriter db_datareaderロールは、データベース内のテーブルとビューに暗黙的にアクセスできる点でdb_datareaderロールに似ています。また、ユーザーまたはユーザーが属している役割の明示的なDENYによってブロックすることもできます。ただし、db_datareaderとは異なり、db_datawriterはINSERT、UPDATEおよびDELETE権限を与えます。ここでも、アクセス権は暗黙的なので、sys.database_permissionsにこれらの権利が表示されることはありません。 db_datareaderと同様に、このロールのメンバシップをチェックして、監査の際に実際の権限を判断する必要があります。

db_datawriterロールは、データベース内のすべてのテーブルとビューに対するINSERT、UPDATE、およびDELETEへの暗黙的なアクセスを提供します。 SQL Server 2005以降では、明示的なDENYはオブジェクトへのアクセスをブロックします。 一般的に、開発者は、すべてのユーザーがそうでない限り、このロールのメンバーではありません。 db_datareaderよりも一般的ではありませんが、通常のユーザー向けにこのロールをプロダクションで使用するのは珍しいことではありません。 アプリケーションでこのロールが必要になることがあります。 ユーザー定義のデータベースロールを作成し、明示的に権限を定義することは、このロールの使用よりも依然として優先されます。

+0

私はdb_readerとdb_writerの役割を理解しています。私のドメインユーザーがsysadminサーバーロールを持っていなければ、レコードをdbに追加/更新できません。私はそれらをsys_adminにしたくありません。これはセキュリティリスクです。 – user7421969

関連する問題