Я создал логин SQL Server несколько дней назад. Теперь мне нужно удалить то же самое. Поэтому я зашел в SQL Server Management Studio => Security => Logins и выбрал логин, который я хочу удалить. Он отображает информационное сообщение, которое говорит
Удаление имен входа на сервер не удаляет пользователей базы данных, связанных с именами входа. Для завершения процесса удалите пользователей в каждой базе данных. Может потребоваться сначала передать право собственности на схемы новым пользователям.
Игнорируя это сообщение, когда я подтверждаю процесс удаления, я получаю фатальную ошибку, которая говорит
Ошибка сброса при входе в систему 'iis_login'. (Microsoft.SqlServer.Smo)
Возникла исключительная ситуация при выполнении оператора или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Этот логин является владельцем 1 вакансии. Вы должны удалить или переназначить эти задания, прежде чем вход в систему может быть удален. (Microsoft SQL Server, ошибка: 15170)
Как удалить логин, если есть рабочие места (согласно сообщению выше), принадлежащие логину.
С уважением, Нирван.
Ответы:
Если у вас много заданий и вы не знаете, какое задание принадлежит этому логину, в этом запросе будет указано название принадлежащих им заданий:
Как только вы нашли работу, вы можете удалить ее, используя
sp_delete_job
:: (из MSDN)источник
Вам необходимо установить для владельца рабочих мест другой логин. Если вы посмотрите на свойства рабочих мест, вы увидите, кто является владельцем для них. Все, что вам нужно сделать, это изменить это на другой логин.
Вот T-SQL для смены владельца задания:
Что касается пользователей базы данных, которые сопоставлены с именем входа, которое вы пытаетесь удалить, если вы хотите сохранить пользователей базы данных и их контекст безопасности, просто сделайте это с ними:
источник