長い投稿を前もってお詫びします。できるだけ明確にしようとしています。SQL Server Management Studio (SSMS) 経由でデータベースにアクセスするユーザー/Windows AD グループを無効にする方法はありますか?
SQL Server 2005 データベースを使用するデスクトップ アプリケーションがあります。アプリケーションは、ユーザーがマシンにログオンすると実行されます (残念ながら、これを変更することはできません。それ以外の場合は簡単です)。データベースは、ユーザーが必要とする適切なスキーマおよびオブジェクトへのアクセスを許可するために、グループで許可されます (ただし、ユーザーにも適用されます)。ユーザーは、プロセスを完了するために、データを選択、挿入、更新、および削除する機能を持っています (そして必要とします)。
アプリケーションは、ユーザー入力に対して一連の検証および監査手順を実行して、適切なデータが入力されていることを確認します (およびいくつかの追加のビジネス処理のために)。ユーザーは SSMS を開き、クエリ エディターを使用してこれらの変更を行うことができ、回避しようとしているアプリケーションを完全に回避することができます。私が探しているのは、提供されたアプリケーション以外のツールを使用してユーザーがデータベースを更新するのを止める方法です。
同様の投稿をいくつか見つけました ( How to disable SQL Server Management Studio for a user を含む) が、ユーザー アクセスの制限や別のログインの使用に取り組んでいるため、これらはこの問題を完全にはカバーしていません。
現時点で考えられる唯一の解決策は、ユーザー データが最初に移動し、別のプロセスがこれを取得し、アプリケーション プロセスを実行してから、データをマスター/ソース テーブルに配置する一連のテーブルを用意することです。次に、マスター テーブルへのユーザー アクセスを制限できます。