Ver permisos de acción

27/01/2005 - 08:02 por José G. Díaz U. | Informe spam
Saludos.

Existe algún procedimiento almacenado extendido o alguna tabla en MASTER que
me permita ver los estados de los permisos sobre alguna base de datos, tabla
o columna?

Lo que quiero es visualizar los permisos en función de las acciones que
tiene un usuario determinado.

Muchas gracias.

José
 

Leer las respuestas

#1 Miguel Egea
01/02/2005 - 22:01 | Informe spam
Con los procedimientos sp_help puedes averiguar si pertenece a un grupo
concreto .

exec sp_helprole N'db_owner'
go
exec sp_helprolemember N'db_owner'
go

Luego Enterprise manager ejecuta estos comandos para averiguar los permisos
a nivel de columnas.

select name, owner = user_name(uid), crdate, objtype = sysstat & 0xf, id,
deltrig from dbo.sysobjects o where power(2, sysstat & 0xf) & 31 != 0 and
not (OBJECTPROPERTY(id, N'IsDefaultCnst') = 1 and category & 0x0800 != 0)
and o.name not like N'#%' order by name, owner
go
select a = o.name, b = user_name(o.uid), user_name(p.uid), o.sysstat & 0xf,
p.id, action, protecttype from dbo.sysprotects p, dbo.sysobjects o,
master.dbo.spt_values a where o.id = p.id and (( p.action in (193, 197) and
((p.columns & 1) = 1) ) or ( p.action in (195, 196, 224, 26) )) and
(convert(tinyint, substring( isnull(p.columns, 0x01), a.low, 1)) & a.high !=
0) and a.type = N'P' and a.number = 0 and p.uid = 5 order by a, b
go
exec sp_MSobjectprivs null, N'column', null, null, null, N'user1', 0, 1
go


Espero que te sirva.


"José G. Díaz U." escribió en el mensaje
news:%
Saludos.

Existe algún procedimiento almacenado extendido o alguna tabla en MASTER
que
me permita ver los estados de los permisos sobre alguna base de datos,
tabla
o columna?

Lo que quiero es visualizar los permisos en función de las acciones que
tiene un usuario determinado.

Muchas gracias.

José


Preguntas similares