For the sysadmin, you can run a query on syslogins and check for administration with a function (isadmin(), I think?). Same for dbo, although you'll need to query each sysusers table in each database. Something like ms_foreachdb might help here. For the catalogs, you'd perform a similar query on information_schema.tables and get the catalog from there.