Eu havia criado um logon do SQL Server alguns dias atrás. Agora eu preciso excluir o mesmo. Então, entrei no SQL Server Management Studio => Segurança => Logins e selecionei o logon que desejo excluir. Ele exibe uma mensagem informativa que diz
A exclusão de logons do servidor não exclui os usuários do banco de dados associados aos logons. Para concluir o processo, exclua os usuários em cada banco de dados. Pode ser necessário primeiro transferir a propriedade dos esquemas para novos usuários.
Ignorando esta mensagem, quando confirmo o processo de exclusão, estou recebendo um erro fatal que diz
Falha na queda no logon 'iis_login'. (Microsoft.SqlServer.Smo)
Ocorreu uma exceção ao executar uma instrução ou lote Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Este login é o proprietário de 1 trabalho (s). Você deve excluir ou reatribuir esses trabalhos antes que o logon possa ser descartado. (Microsoft SQL Server, Erro: 15170)
Como excluo o login quando há trabalhos (de acordo com a mensagem acima) pertencentes ao login.
Atenciosamente, Nirvan.
Respostas:
Se você tiver muitos trabalhos e não souber qual trabalho pertence a esse logon, essa consulta informará o nome dos trabalhos pertencentes a eles:
Depois de encontrar o trabalho, você pode excluí-lo usando
sp_delete_job
:: (No MSDN)fonte
Você precisa definir o proprietário dos trabalhos para um login diferente. Se você observar as propriedades dos trabalhos, verá quem é o proprietário para eles. Tudo o que você precisa fazer é mudar isso para outro login.
Aqui está o T-SQL para alterar o proprietário do trabalho:
Quanto aos usuários do banco de dados que estão mapeados para o logon que você está tentando eliminar, se desejar manter os usuários do banco de dados e seu contexto de segurança, faça o seguinte:
fonte