Query para ver permisos faltantes

Category: Seguridad 9 years ago
Hola, quisiera saber si alguno de ustedes cuenta con un query que me pueda mostrar que tablas, procedures o vistas no tienen ningún permiso asignado para SQL Server 2008.

Estoy haciendo este query y parece funcionar, pero quisiera recibir un poco de retroalimentación, posiblemente podría tener algo mal.

SELECT name,type,create_date FROM sys.objects
WHERE object_id not in (SELECT distinct(dbp.major_id) FROM sys.database_permissions dbp
INNER JOIN sys.database_principals dp
on dbp.grantee_principal_id = dp.principal_id)
AND type in ('U','P','V')
order by name
GO

Gracias
Like it on Facebook, +1 on Google, Tweet it or share this topic on other bookmarking websites.
  • Re: Query para ver permisos faltantes

    by » 9 years ago


    Pero si hiciera falta algún permiso extra no lo verías, por ejemplo, si debes tener de select, insert, update y delete y solo tiene de select, no te lo reportaría el query.

    Intenta haciendo pruebas con este query haber que tal te va.

    EXECUTE AS user = 'demo'
    SELECT HAS_PERMS_BY_NAME
    (QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name),
    'OBJECT', 'SELECT') AS have_select, * FROM sys.tables

    Solo te comento que si el usuario al que cambias para validar los permisos, no tiene ningún permiso sobre la tabla, no la veras.

You do not have permissions to reply to this topic.
Powered by CjForum