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

Корзина

Корзина

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

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

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

СФА

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

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

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

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

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

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

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

DAC через SQLCmd

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

DAC через SQL Server Management Studio

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

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

envelope

Спасибо! Вам на e-mail отправлено письмо со ссылкой для подтверждения

Если письмо не пришло, поищите его в папке со спамом или повторите подписку

email-checked.png

Вы подписались на рассылку

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