2011-07-20 8 views
0

私はテーブルを持っています。私は1つを除いてすべてのユーザーにその変更を拒否したいと思います。 1つの明白な解決策は、特別な拒否する役割を作成し、それに他のすべての役割を追加することです。しかし、その場合、このロールに追加されない限り、新しいロールはテーブルを変更することができます。そのようなアクセス許可を設定するにはどうすればいいですか?MS SQLServer:単一のユーザー以外の全員にテーブルの変更を拒否する方法は?

+0

プログラミングコンテンツはありません。 –

+0

@Mitch Wheat:コード猿がデータベースのセキュリティを考えないようにしましょう。なぜあなたはDBAが不満を感じるのですか... – gbn

+0

gbn:私は全面的に同意します。質問にはまだプログラミングコンテンツがありません。 –

答えて

1

権限(INSERT、UPDATE、DELETE)は、1つの特別な「書き込み」ロールのみに付与する必要があります。

デフォルトではユーザーには権利がないため、DENYは必要ありません.DENYは、最初にGRANT権限が必要な場合にのみ必要となります。

簡単にしてください。

注:

  • 書き込みが(同じ所有者との)ストアドプロシージャを経由している場合は、権限がすべて
  • DBOなどで確認されることはありませんが、常にあなたがトリガを使用しない限り、(権限を持っているであろうが、 dboは無効化または削除できます)
関連する問題