Что делать, если LOGON-триггер сбрасывает все подключения к SQL-серверу
Самородов Федор Анатольевич: Что делать, если LOGON-триггер сбрасывает все подключения к SQL-серверу
Триггер входа - очень полезный механизм. Однако, обращаться с ним следует осторожно. LOGON-триггеры срабатывают ещё до того, как пользователь начнёт работу с SQL-сервером, поэтому если такой триггер написан неаккуратно или срабатывает с ошибкой, пользователи, включая администраторов, просто не смогут подключиться к серверу.
Вот пример триггера входа, который умышленно написан так, чтобы сбрасывать все попытки подключения к серверу:
Теперь при попытке установить соединение с SQL-сервером, получаем сообщение об ошибке, случившейся во время выполнения триггера входа:
Если вы попали в такую ситуацию, придётся воспользоваться специальной лазейкой, которая позволяет администратору подключиться к SQL-серверу в обход LOGON-триггеров. Такое "сервисное" подключение доступно только членам серверной роли SysAdmin. Обратите внимание, что возможность удалённого сервисного подключения может быть отключена в настройках, тогда придётся работать прямо на сервере.
В утилите SQLCmd воспользоваться сервисным подключением можно, указав параметр -A:
А при подключении из студии используйте префикс ADMIN: перед именем сервера. Вот так:
Такое подключение не предназначено для полноценной работы с данными, только для решения проблем с доступностью сервера. Но удалить или отключить триггер вы сможете.
Подробнее об этом Вы сможете узнать на курсах SQL Server
Ближайшие группы
Заказ добавлен в Корзину.
Для завершения оформления, пожалуйста,
перейдите в Корзину!
От какого лица вы будете оплачивать обучение?