none
Ajuda - Excluir User RRS feed

  • Pergunta

  • Ola, no management studio criei um novo login (security/logins), e depois um user (meubanco / security /  user).

    O problema é q errei ao dar permissao do usuario ao meu banco, ao invés de db_datawirte e dv_datareader eu coloquei por engano deny_datareader e deny_datawrite.

    Então fui la em seurity / logins e exclui o novo login criado.

    O problema é que não consigo excluir esse usuario criado a partir do login la no banco em security / users, ele dá o seguinte erro

    "The database principal owns a schema in the database, and cannot be dropped."

    O problema é que não consigo criar o login novamente com o mesmo nome, pois se eu criar e dai clicar com o botao direito do login e ir em user mappings não consigo dar as permissoes para ele no banco, aparece o seguinte:

    "User, group, or role 'trem' already exists in the current database."


    Como resolver?

    abraço

    Douglas

    • Movido Gustavo Maia Aguiar quarta-feira, 26 de agosto de 2009 13:26 (De:SQL Server - Desenvolvimento Geral)
    quarta-feira, 26 de agosto de 2009 11:29

Respostas

  • consegui

    fui em schemas e para

    owner, datareader, datawriter estava como o meu usuario como OWNER deles.

    alterei o owner para deles para db_owner, db_datareader, db_datawriter.

    obrigado pela ajuda Marcelo

    abraço

    Douglas
    • Marcado como Resposta Douglas Luiz quarta-feira, 26 de agosto de 2009 13:16
    quarta-feira, 26 de agosto de 2009 13:16

Todas as Respostas

  • Ola Douglas,

    Pq vc vc não muda as rules?
    para isto va em SECURITY / LOGINS / propriedades do usuario em questao / vá ate o dtabase  desejado e altere as rules.....

    ou por linha de comando

    USE [seu database]
    GO
    EXEC sp_addrolemember N'db_datareader', N'usuario'
    GO
    
    EXEC sp_addrolemember N'db_datawriter', N'usuario'
    GO
    
    EXEC sp_droprolemember N'db_denydatareader', N'usuario'
    GO
    
    EXEC sp_droprolemember N'db_denydatawriter', N'usuario'
    GO
    


    Att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quarta-feira, 26 de agosto de 2009 11:47
    Moderador
  • o problema é que eu ja tinha excluido o login, até consigo criar de novo, mas nao consigo atribuir permissoes a ele no banco atraves da propriedade user mapping, acho q por justamente existir o user la no banco.

    Eu preciso saber como excluir o usuario do banco, para depois excluir/ oiu modificar o login
    quarta-feira, 26 de agosto de 2009 12:01
  • Douglas pela mensagem este usuario é OWNER de um schema e antes de excluir vc deve alterar o owner deste schema ou remove-lo, segue script p/ descobrir ealterar o owner.

    USE [seu database]
    GO
    SELECT 'exec ALTER AUTHORIZATION ON SCHEMA::['+a.name+'] TO [dbo]' 
    FROM sys.schemas a inner join sys.database_principals b ON a.principal_id = b.principal_id WHERE b.name = N'usuario'
    

    Execute o resultado do select acima p/ alterar o owner
    apos esta alteracao vc pode excluir o user


    Att.
    Marcelo Fernandes





    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quarta-feira, 26 de agosto de 2009 12:32
    Moderador
  • Marcelo

    executei a query q vc indicou, mas nao retornou nada.

    abraço

    Douglas
    quarta-feira, 26 de agosto de 2009 13:08
  • consegui

    fui em schemas e para

    owner, datareader, datawriter estava como o meu usuario como OWNER deles.

    alterei o owner para deles para db_owner, db_datareader, db_datawriter.

    obrigado pela ajuda Marcelo

    abraço

    Douglas
    • Marcado como Resposta Douglas Luiz quarta-feira, 26 de agosto de 2009 13:16
    quarta-feira, 26 de agosto de 2009 13:16
  • Obrigado pelo retorno,

    se possível marque a resposta que o atendeu

    att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quarta-feira, 26 de agosto de 2009 13:44
    Moderador