Хотелось бы помочь с LOGON Trigger - PullRequest
0 голосов
/ 21 мая 2010

Я создал триггер входа в систему в MS SQL, который должен проверить dm_exec_sessions для входа в систему. Этот логин является пользователем, указанным в строке подключения, и имеет право владельца на базу данных. Если логин подтвержден, мне нужно обновить определенную таблицу и отправить электронное письмо.

Пока что я сделал только следующий фрагмент, и он отключил мой веб-сайт. Я получаю сообщение об ошибке: «Не удалось войти в систему для входа в систему« dev »из-за выполнения триггера. Изменен контекст базы данных на« mydatabase ». Изменены настройки языка на us_english».

Есть идеи, что я сделал не так? Спасибо,

Risho

CREATE TRIGGER TDY_Assets_Notification
ON ALL SERVER WITH EXECUTE AS 'dev'
FOR LOGON
AS
BEGIN

IF ORIGINAL_LOGIN()='dev' AND
    (SELECT COUNT(*) FROM sys.dm_exec_sessions
            WHERE is_user_process = 1 AND
                original_login_name = 'dev') > 1

     UPDATE Assets_TDY 
        SET Suspense = 1, Warning = 1
        WHERE     (Date_Returned IS NULL) AND (GETDATE() >= DATEADD(day, 3, Date_Return))

END

1 Ответ

1 голос
/ 21 мая 2010

Попробуйте подключиться с помощью выделенного подключения администратора . Это даст вам возможность отключить ошибочный триггер входа в систему.

DISABLE TRIGGER [TDY_Assets_Notification] ON ALL SERVER
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...