SQL 認証で接続した場合、MS SQL Server 2008 R2 への接続の Windows ログイン名を取得できますか? さらに、なりすましが使用されます。本当のホスト名しか取得できません。
なりすましの考えに反するので、それは不可能だと思います。しかし、あなたは私に確認してもらえますか?
SQL 認証で接続した場合、MS SQL Server 2008 R2 への接続の Windows ログイン名を取得できますか? さらに、なりすましが使用されます。本当のホスト名しか取得できません。
なりすましの考えに反するので、それは不可能だと思います。しかし、あなたは私に確認してもらえますか?
接続が SQL 認証を使用して行われた場合、接続が偽装されたコンテキストで行われたかどうかに関係なく、「Windows ログイン名」を取得する方法はまったくありません。別の方法として、セッション コンテキスト情報のようなアウト オブ バンド プロセスを使用することもできますが、アプリケーションは連携して、接続を開くたびにコンテキスト情報を適切に設定する必要があります。アクションを実行した元のウィンドウ ログインを監査するなどの要件がある場合は、SQL 認証を Windows 認証に置き換える必要があります。
Windows 統合認証を使用して接続が確立されると、後は簡単です。
declare @userid varchar(15)
SELECT @userid = nt_username
FROM sys.sysprocesses
WHERE spid = @@SPID
select @userid