SQL Server - Permisos de un usuario en SQLSERVER

   
Vista:

Permisos de un usuario en SQLSERVER

Publicado por Juan (2 intervenciones) el 09/09/2010 09:35:03
Buenos días,

Por recomendación de una compañera especialista en base de datos de Sevilla, estoy usando este foro para preguntar cómo se puede saber en los Metadatos de SqlServer los permisos que tiene un usuario en concreto. Puede ser que el usuario tenga permisos sobre varias bases de datos y dentro de estas bases de datos sobre varias tablas. Yo estoy acostumbrado a trabajar en Oracle y si se puede hacer fácilmente, pero en Sqlserver no encuentro la forma.

A ver si me podeis ayudar un poquito.

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Permisos de un usuario en SQLSERVER

Publicado por Leonardo Josué (79 intervenciones) el 09/09/2010 16:13:55
Buenos días Juan:

Creo que te pueden servir algunas de las vistas de catálogo con que cuenta SQL Server, te dejo una liga donde aparecen todas las vistas referentes a seguridad.

http://msdn.microsoft.com/es-es/library/ms178542(v=SQL.90).aspx

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

RE:Permisos de un usuario en SQLSERVER

Publicado por Isaias (3180 intervenciones) el 09/09/2010 18:33:41
Veamos si esto te es util:

select dp.NAME AS principal_name,
dp.type_desc AS principal_type_desc,
o.NAME AS object_name,
p.permission_name,
p.state_desc AS permission_state_desc
from sys.database_permissions p
left OUTER JOIN sys.all_objects o
on p.major_id = o.OBJECT_ID
inner JOIN sys.database_principals dp
on p.grantee_principal_id = dp.principal_id
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Permisos de un usuario en SQLSERVER

Publicado por Juan (2 intervenciones) el 13/09/2010 09:44:33
Buenas,

Lo siento pero esto para SqlServer 2000 no va, supongo que estarás usando una versión de SqlServer más avanzada que yo. Si encontrais algo para SqlServer 2000 espero que me lo digais. Esk soy un poco arcaico, jejejejeje

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Permisos de un usuario en SQLSERVER

Publicado por Leonardo Josué (79 intervenciones) el 13/09/2010 16:42:15
Hola de nuevo Juan:

Tal como lo comentas, el ejemplo que te da el compañero Isaias es válido para SQL Server 2005 y 2008, pero creo que si te hubieras tomado 5 minutos para buscar en google o cualquier otro motor de búsqueda hubieras encontrado la equivalencia entre las vistas.

Te comento que las vistas sys.database_permissions y sys.server_permissions no existe en la v2000, pero existe la vista syspermissions

Te paso dos ligas, una donde aparece la tabla comparativa entre vistas de sistema de SQL Server 2000 y 2005

http://msdn.microsoft.com/es-es/library/ms187997(SQL.90).aspx

y otra donde encontrarás una explicación de todas las vistas de sistema de SQL Server 2000

http://msdn.microsoft.com/en-us/library/aa260604(v=SQL.80).aspx

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar