
No.2ベストアンサー
- 回答日時:
#1です。
ユーザ名がdboって、要はsaアカウントに対して制限を掛けようとしているということですか?
基本的にsysadminを持っている人は「何でもできる人」ですから、発想的に無理がありますよ。その点は認識してください。
(方法1)
SQL Serverはテーブル単位に読み取り専用にする機能がありませんので、
・ファイルグループを新設し(SECONDARYなど)、そこにデータファイルを追加します。
・新設したファイルグループに、対象テーブルを新規に作成し、そこにデータを移します。
(テーブル自体を「移動」することはできないと思います)
・新設したファイルグループを読み取り専用にします。
基本的には全部GUIでできます。
上記の通り、テーブルの再作成ができることが条件で、これをやるとファイルグループの属性を変更しない限り、「例外なく」誰も更新できません。ただ、sysadmin権限を持っている人がファイルグループの属性を変更しようとしても、阻止できません。
(方法2)
条件付きですし、ちょっと姑息なのでおまけです。
INSTEAD OFトリガは、更新処理自体は行わないため、トリガ内で更新処理を書かないと何もしません。
(RAISERRORも書かなければ、実行したときにあたかもうまくいったように見えます)
CREATE TRIGGER tr_(テーブル名)
ON dbo.(テーブル名)
INSTEAD OF INSERT,UPDATE,DELETE
AS
BEGIN
SET NOCOUNT ON
RAISERROR('Insert/Update/Delete is not allowed',16,1)
END
ただし、この方法は制限を掛けたいユーザがトリガをオフにする方法を知っているとアウトです。
ユーザがトリガをオフにする方法を知っている場合は、それを阻止する方法はありません。
丁寧に教えていただきありがとうございます。
今までこのようなことを想定せずにSQLServer+アクセスプロジェクトで小規模システムを作ってきましたが、大変参考になりました。
次のシステムを作る時に参考にしたいと思います。
ありがとうございます
No.3
- 回答日時:
No.1
- 回答日時:
対象のユーザがsysadmin権限を持っていないことが条件です。
DENY INSERT,UPDATE,DELETE ON (テーブル名) TO (ユーザ名)
この回答への補足
早速のご教授ありがとうございます。
ご教授いただいた記述をユーザー名であるdboに対して実行しましたが、
反映されませんでした。
おそらくご指摘のようにdboにはsysadmin権限があるせいだと思います。
当方のシステムのユーザーはdboしかなく、新たにユーザーを作るのはかなり大変のように思います。
そこでお尋ねしたいのですが、ユーザーがdboであってもデータの追加、変更、削除ができないようにする方法はないのでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
SQLサーバーのテーブルの値が更新できません
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessテーブル作成クエリを実...
-
クエリのキャンセルがいつにな...
-
エクセルでテーブルの最終行が...
-
SI Object Browserのテーブルス...
-
アクセスのテーブル作成クエリ...
-
あるテーブルのデータを追加、...
-
ADOでSeekメッソッドが使えませ...
-
VIEWしか読み取れないユーザの...
-
ユニオンクエリの結果をテーブ...
-
ロータスアプローチ2001とACCES...
-
コンボボックスで入力したもの...
-
列サイズ変更時、DB停止は必要?
-
AccessでOracleのテーブルをリ...
-
#ワークテーブルにinsert時 変...
-
ボタンをクリックした回数をカ...
-
エクセルでCtrl+Tでテーブルの...
-
DBのCreate文スクリプト作成に...
-
Accessにインポートしたら並び...
-
SELECT文でのデッドロックに対...
-
オラクルではできるのにSQLSERV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クエリのキャンセルがいつにな...
-
SI Object Browserのテーブルス...
-
エクセルでテーブルの最終行が...
-
accessテーブル作成クエリを実...
-
VIEWしか読み取れないユーザの...
-
あるテーブルのデータを追加、...
-
ストアドをまたがるローカル一...
-
ユニオンクエリの結果をテーブ...
-
コンボボックスで入力したもの...
-
位置を指定してフィールドを追...
-
列サイズ変更時、DB停止は必要?
-
SQLサーバーのテーブルの値...
-
レプリケーションしているテー...
-
Access のリレーションシップで...
-
UNIONなどで複数のテーブルから...
-
AccessでOracleのテーブルをリ...
-
テーブル作成クエリで新テーブ...
-
アクセスのテーブル作成クエリ...
-
excel テーブル
-
#ワークテーブルにinsert時 変...
おすすめ情報