This script uses undocumented stored procedure sp_MsForEachDb. If you prefer, you can substitute the ? in the script, un-comment the code and run it under a USE <database> context for each database you wish to audit.
You may also wish to add to the list of DbRoles for inclusion by adding roles to the /*, ''<other role>''*/ in the script and delete tne /* and */ comment marks.
I recommend running this in a development environment until you know the affect it will have on your system.
Note: You may have to adjust the sizes of the columns as needed for your database names, owners, etc.