2011-10-25 17 views
1

次のシナリオがあります。SQL固有のユーザーIDとワークステーション

NLBとSQLクラスタに展開されたWebアプリケーション。

データベースでは、各テーブルにはユーザーが行ったアクティビティを追跡するトリガがあります。現在、トリガはHostNameを保存しています(このようなWeb配置の場合は役に立ちません)。

アカウント「SA」で接続されている場合、 接続されたユーザーまたはSQL内でリクエストを送信しているワークステーションを入手する方法がありますか、アプリケーションを使用してDBにUser Infoを渡す必要がありますコード。

DBMSはSQLで、Webアプリケーションが.NETフレームワーク

答えて

-1

に基づいていますが、Kerberosを設定しない限り、あなたはコードからユーザIDを渡す必要があり、Windows認証を使用するように通過します。それはこの答えの範囲外です。

さらに重要なのは、SQLクラスタで "sa"を使用してWebアプリケーションを実行している理由です。これは愚かです。 「最小特権」Windowsサービスアカウントを使用してIISアプリケーションプールを実行し、これを使用してSQL Serverに接続します。

+0

ええ私は、 "sa"を使うのは良い方法ではないことを知っていますが、より高い特権を必要とする特定のトランザクションがDB上にあるので、 – SShebly

+0

@SShebly:saを必要とするコードの例 – gbn

+0

SharePointで利用可能なアプリケーションからデータベースへのバックアップと復元を実行し、dbアクティビティに関するレポートを生成する – SShebly

関連する問題