• Excellent script, thanks! I was not seeing the object level perms for users tied to database roles I had created, so I simply added another OR statement to the where clause to get what I was looking for:

    SELECT DISTINCT Principal_Name,Login_Name, DatabaseName, ObjectName, ObjectType, PermissionName, state_desc, Grantor

    FROM @ObjectPermissions op

    WHERE ISNULL(Login_Name, '') like @loginName

    OR ISNULL(Principal_Name, '') like @loginName

    OR ISNULL(Principal_Name, '') in (SELECT DISTINCT DB_RoleMember

    FROM @DBRolePermissions dbrp

    WHERE (ISNULL(Login_Name, '') LIKE @loginName

    OR ISNULL(Principal_Name, '') LIKE @loginName)

    AND dbrp.DatabaseName = op.DatabaseName

    AND Permission_Type = 'DATABASE_ROLE')

    ORDER BY DatabaseName, Principal_Name, ObjectName, PermissionName