To NIE możliwe i wszystkie twierdzenia, że są przeciwne, to olej węża.
Chociaż prawdą jest, że można sprawdzić nazwę aplikacji i utworzyć wyzwalacze logowania, które odmawiają logowania na podstawie tej właściwości, nazwa aplikacji nie jest bezpieczną właściwością i może być łatwo sfałszowana przez każdego. Polegaj na nim, jeśli chodzi o bezpieczeństwo (tj. odmowa logowania) to #fail.
Tak długo, jak obniżysz poprzeczkę i usuniesz terminy „odmowa dostępu” z twojego pytania, możliwe jest zapewnienie Wyzwalacz logowania
który sprawdza nazwa_programu
sesji w 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;
Nazwa_programu jest ustawiana przez niektóre aplikacje, nie wiem, czy pakiet Office ustawia tę właściwość na coś przydatnego lub pozostawia ją domyślną. Musisz zrozumieć, że może to obejść każdy po prostu zmieniając ApplicationName właściwość w ciągu połączenia.