Eu tenho alguns bancos de dados no meu servidor, cada um com seus próprios usuários. Agora preciso encontrar e excluir todos esses logins, que não estão mapeados para nenhum usuário em nenhum banco de dados. Mas também vi que é possível que os logins não sejam mapeados para nenhum usuário, mas possam fazer algumas operações porque têm funções como sysadmin. Portanto, neste caso, esses logins estão em uso. Eu quero saber como posso encontrar logins realmente inúteis que são deixados órfãos sem nenhum uso?
Obrigado
Eu tenho algo muito feio que fiz anos atrás. Só preciso implementar um SQL dinâmico para executar automaticamente esse "select". bem aqui vai:
Primeiro crie esta tabela de relatório:
Em seguida, execute esta consulta e execute-a:
Então você pode ter:
E
Seu caso se parece com este .
No entanto, a consulta a seguir ajuda você a obter logins que não são mapeados para nenhum usuário no banco de dados e não atribuídos à função de servidor, você pode comentar (--) o último predicado (
and (r.name = 'public' or r.name is null )
) nawhere
cláusula para listar todos os logins com seus nomes de função que não são mapeados com nenhum usuário de banco de dados e escolhem oFixCommand
valor da coluna (T-SQL) para logins selecionados do resultado.