のような SQL コマンドをtruncate
ユーザー レベルで制限できますか (特定のデータベース/サーバーに対して)?
私のチームのメンバーは、彼が開発データベースにいると思って本番テーブルを切り捨てました。これが再び起こらないようにしたいと思います (彼の権限を完全にロックダウンすることなく)。
のような SQL コマンドをtruncate
ユーザー レベルで制限できますか (特定のデータベース/サーバーに対して)?
私のチームのメンバーは、彼が開発データベースにいると思って本番テーブルを切り捨てました。これが再び起こらないようにしたいと思います (彼の権限を完全にロックダウンすることなく)。
保護したいテーブルに tinyint フィールド (デフォルト 0) を追加し、専用の単一レコード テーブルを指す外部キー制約を追加してみてください。それはあなたのテーブルを保護するはずです。
そうは言っても、あなたはおそらくこの男を追い払うべきです。
私が覚えている限りALTER
、テーブルの許可を取り消すとうまくいくはずです(2005年から2012年のすべてのバージョンで)。
TRUNCATE はログに記録されない操作であるため、TRUNCATE を実行するにはテーブルに対する DDL 権限が必要です。人がデータライター (または挿入/更新/削除) を持っていても、ALTER または DDL_ADMIN を欠いている場合でも、テーブルを切り捨てることはできません。