SQL Server 2005 Removido acidentalmente um usuário da função pública, não é possível incluir o usuário novamente na função

1

Estou tentando criar uma conta de usuário do banco de dados que tenha acesso somente a um banco de dados específico e não possa ler ou alterar outros bancos de dados e não possa alterar as credenciais de nenhuma outra conta.

Eu acidentalmente removi este usuário da função de servidor "público" enquanto resolvia um problema de conexão, que impedia meu acesso ao servidor do Management Studio para a conta

A única maneira de obter acesso é adicionar o usuário à função sysadmin, o que não funcionará porque o usuário agora tem acesso a todos os bancos de dados.

agora, quando tento adicionar o usuário de volta à função de servidor público, recebo um erro dizendo que a associação na função não pode ser alterada.

Curiosamente, quando clico com o botão direito do usuário e vejo propriedades, ele afirma que o usuário é um membro da função pública e não me permite alterar a associação.

Perguntas:

  • Então, se a associação de função pública não puder ser alterada, como consegui remover o usuário da função?
  • Como eu adiciono o usuário de volta para que eu possa recuperar o acesso ao estúdio de gerenciamento para esse usuário?
por I.T. Support 04.06.2010 / 21:52

1 resposta

1

Para ajudar com detalhes adicionais, aqui está como tudo deve parecer, para que você possa dizer exatamente qual parte não está correta. Você tem um login para o servidor e um usuário para o banco de dados da conta com a qual está tendo problemas. Nos níveis de servidor e banco de dados, você verá uma função pública (função de servidor e função de banco de dados). As propriedades da função de servidor público não mostrarão os usuários, mas as propriedades do login mostrarão a função de banco de dados público para todos os bancos de dados (ele será verificado e você não poderá desmarcá-lo). As propriedades da função de banco de dados público também não mostrarão nenhum membro e as propriedades do usuário do banco de dados também não mostrarão a função pública. Por causa de tudo isso, não acredito que você tenha removido o usuário da função pública.

Se você quiser tentar excluir e recriar o usuário, primeiro tente acessar o banco de dados e apenas exclua o usuário do banco de dados. Isso deixará o login, que você pode acessar nas propriedades de e, sob Mapeamento do usuário, não deve haver nenhum banco de dados marcado. Você deve poder verificar o banco de dados agora (porque o usuário do banco de dados foi excluído) e escolher as funções necessárias. Se isso não funcionar, você também pode excluir o login junto com o usuário do banco de dados para tentar limpar tudo. Para uma última verificação no usuário, você pode executar este SQL:

use database_name
exec sp_change_users_login 'Report'

Isso mostrará usuários órfãos, o que pode significar que ainda há um problema com o usuário. Isso geralmente pode ser corrigido com:

use database_name
exec sp_change_users_login 'Auto_Fix', 'username'

Para tentar finalizar isso antes que fique mais tempo, pode haver outra coisa que esteja causando seu problema de conexão para esse usuário. Se nada disso funcionar, você pode postar a mensagem de erro que você recebe ao fazer o login?

    
por 05.06.2010 / 02:24