RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  63100 - ERROR AL TRATAR DE ELIMINAR USUARIO EN SQL SERVER 2005
Autor:  Elias Perez
Hola.
Tengo una base de datos en SQL SERVER 2005, eliminé el login sin problemas, pero al tratar de eliminar el usuario en la base de datos me arroja el siguiente error:

Mens. 15284, Nivel 16, Estado 1, Línea 1
The database principal has granted or denied permissions to objects in the database and cannot be dropped.

(Mens. 15284, Nivel 16, Estado 1, Línea 1
La entidad de seguridad de base de datos ha concedido o denegado permisos a objetos en la base de datos. No se puede quitar.)

Ejecuté la siguiente consulta para ver los permisos del usuario y no arroja ningún resultado, por lo que asumo que el usuario no tiene permisos

SELECT
P.state_desc PERMISODESCRIPCION,
p.permission_name as TIPOPERMISO,
DP.NAME as NOMBREPRINCIPAL,
DP.type_desc DESCRIPCION,
O.NAME OBJECTONOMBRE
FROM
sys.database_permissions P
LEFT JOIN sys.database_principals DP ON
p.grantee_principal_id = dp.principal_id
LEFT JOIN sys.all_objects O ON
p.major_id = o.OBJECT_ID
WHERE DP.NAME = 'USUARIOPORTAL'

Pero al ejecutar la siguiente consulta:
select * from sys.database_permissions where grantor_principal_id = user_id ('USUARIOPORTAL);

me arroja los siguientes resultados:

class class_desc major_id minor_id grantee_principal_id grantor_principal_id type permission_name state state_desc
----- ------------------------------------------------------------ ----------- ----------- -------------------- -------------------- ---- -------------------------------------------------------------------------------------------------------------------------------- ----- ------------------------------------------------------------
4 DATABASE_PRINCIPAL 7 0 5 7 AL ALTER D DENY
4 DATABASE_PRINCIPAL 7 0 5 7 CL CONTROL G GRANT
4 DATABASE_PRINCIPAL 7 0 5 7 VW VIEW DEFINITION G GRANT
4 DATABASE_PRINCIPAL 7 0 6 7 AL ALTER D DENY
4 DATABASE_PRINCIPAL 7 0 6 7 CL CONTROL G GRANT
4 DATABASE_PRINCIPAL 7 0 6 7 VW VIEW DEFINITION G GRANT
4 DATABASE_PRINCIPAL 7 0 9 7 AL ALTER D DENY
4 DATABASE_PRINCIPAL 7 0 9 7 CL CONTROL G GRANT
4 DATABASE_PRINCIPAL 7 0 9 7 VW VIEW DEFINITION G GRANT
4 DATABASE_PRINCIPAL 7 0 10 7 AL ALTER D DENY
4 DATABASE_PRINCIPAL 7 0 10 7 CL CONTROL G GRANT
4 DATABASE_PRINCIPAL 7 0 10 7 VW VIEW DEFINITION G GRANT
4 DATABASE_PRINCIPAL 7 0 11 7 AL ALTER D DENY
4 DATABASE_PRINCIPAL 7 0 11 7 CL CONTROL G GRANT
4 DATABASE_PRINCIPAL 7 0 11 7 VW VIEW DEFINITION G GRANT
4 DATABASE_PRINCIPAL 7 0 12 7 AL ALTER D DENY
4 DATABASE_PRINCIPAL 7 0 12 7 CL CONTROL G GRANT
4 DATABASE_PRINCIPAL 7 0 12 7 VW VIEW DEFINITION G GRANT

(18 filas afectadas)

Entonces ejecuto la siguiente consulta :
REVOKE VIEW DEFINITION ON USER::USUARIOPORTAL TO public
REVOKE CONTROL ON USER::USUARIOPORTAL TO public
REVOKE ALTER ON USER::USUARIOPORTAL TO public

Pero despues de ejecutarla, vuelo a ejecutar:
select * from sys.database_permissions where grantor_principal_id = user_id ('USUARIOPORTAL);
Y me vuelve a arrojar los mismos 18 resultados, y por consiguiente no puedo eliminar el usuario. ¿Me puede ayudar alguien y decirme que estoy haciendo mal?

Saludos.


Nombre
Apellidos
Correo
Comentarios