ない 可能であり、反対の主張はすべてスネークオイルです。
アプリケーション名を確認し、このプロパティに基づいてログインを拒否するログイントリガーを作成できることは事実ですが、アプリケーション名は安全なプロパティではなく、誰でも簡単に偽造できます。 セキュリティのためのそれへの依存 (つまり、ログイン拒否)は#failです。
バーを下げて、質問から「アクセスを拒否する」という用語を削除する限り、ログオントリガー
セッションのprogram_name
を検査します sys.dm_exec_sessions コード>
:
CREATE TRIGGER application_limit_trigger
ON ALL SERVER WITH EXECUTE AS '...'
FOR LOGON
AS
BEGIN
IF EXISTS (SELECT *
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID
AND program_name IN (N'Bad Program', N'Worse Program', N'Unmentionable')
ROLLBACK;
END;
program_nameは一部のアプリケーションによって設定されますが、Officeスイートがこのプロパティを便利なものに設定するか、デフォルトのままにするかはわかりません。そして、これは誰でも回避できることを理解する必要があります ApplicationName を変更するだけです。 接続文字列のプロパティ。