I tried the script in Instance of SQL 2005. While it is very fast, and I like that, it came back with incorrect information.
1. For a specific user which I have granted exec rights to all user defined functions and procedures, it shows "Revoked" in the column: [EXEC].
2. This same user has been granted db_datareader and db_datawriter on all tables in the database. According to the data, This user does not appear to have any rights to view the data. No tables show up in the data for this user. I don't know the logic of where the db_datareader and db_datawriter should show up.
3. It would sure help if there was documentation explaininng the logic: where data is coming from and why is the logic written this way.
I hope you can fix this as I really like the speed.