Это НЕ возможно, и все претензии об обратном являются змеиным маслом.
Хотя верно то, что вы можете проверить имя приложения и создать триггеры входа в систему, которые запрещают вход в систему на основе этого свойства,имя приложения не является безопасным свойством и может быть легко подделано кем-либо.Доверие к этому для безопасности (т. Е. Отказ в входе в систему) равно # 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;
Имя_программы устанавливается некоторыми приложениями, я незнаю, что пакет Office устанавливает это свойство на что-то полезное или оставляет его по умолчанию.И вы должны понимать, что anybody может обойти это, просто изменив свойство ApplicationName в строке подключения.