Уважаемые слушатели! Обращаем ваше внимание, что 01.05.2024 и 09.05.2024 у нас выходные дни. Вы можете оставить сообщение в чате, мы обязательно ответим!

Что делать, если LOGON-триггер сбрасывает все подключения к SQL-серверу

Самородов Федор Анатольевич: Что делать, если LOGON-триггер сбрасывает все подключения к SQL-серверу

СФА

Триггер входа - очень полезный механизм. Однако, обращаться с ним следует осторожно. LOGON-триггеры срабатывают ещё до того, как пользователь начнёт работу с SQL-сервером, поэтому если такой триггер написан неаккуратно или срабатывает с ошибкой, пользователи, включая администраторов, просто не смогут подключиться к серверу.

Вот пример триггера входа, который умышленно написан так, чтобы сбрасывать все попытки подключения к серверу:

LOGON-триггер, сбрасывающий все подключения

Теперь при попытке установить соединение с SQL-сервером, получаем сообщение об ошибке, случившейся во время выполнения триггера входа:

LOGON-триггер вызывает сброс соединения

Если вы попали в такую ситуацию, придётся воспользоваться специальной лазейкой, которая позволяет администратору подключиться к SQL-серверу в обход LOGON-триггеров. Такое "сервисное" подключение доступно только членам серверной роли SysAdmin. Обратите внимание, что возможность удалённого сервисного подключения может быть отключена в настройках, тогда придётся работать прямо на сервере.

В утилите SQLCmd воспользоваться сервисным подключением можно, указав параметр -A:

DAC через SQLCmd

А при подключении из студии используйте префикс ADMIN: перед именем сервера. Вот так:

DAC через SQL Server Management Studio

Такое подключение не предназначено для полноценной работы с данными, только для решения проблем с доступностью сервера. Но удалить или отключить триггер вы сможете.

Подробнее об этом Вы сможете узнать на курсах SQL Server

Ближайшие группы

Авторизации

Обратный звонок

Оставьте свои данные ниже и наш менеджер свяжется с вами в рабочее время!

Нажимая на кнопку, вы соглашаетесь с политикой конфиденциальности

Спасибо за обращение! Ваш менеджер свяжется с вами в рабочее время.