Microsoft SQL Server. Невозможность удалить пользователя БД

Microsoft SQL Server. Невозможность удалить пользователя БД

Если у вас была проблема с невозможностью удаления пользователя из БД, то вам может помочь следующий способ. Предположим что вы получили ошибку от SQL Server:

Msg 15136, Level 16, State 1, Line 2
The database principal is set as the execution context of one or more procedures, functions, or event notifications and cannot be dropped.

Предлагаю начать изучать проблему с sys.sql_modules. По колонке execute_as_principal_id мы сможем понять какие объекты вызываются от контекста другого пользователя

image

Далее нам необходимо понять какие пользователи в этом задействованы. Первым делом необходимо рассмотреть какие объекты имеют свойство execute_as_principal_id

 

image

На основе полученных данных можно обратиться ко всем перечисленным объектам и получить необходимые нам имена пользователей:

 

Запись опубликована в рубрике В помощь администратору с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: