I was trying to see what permissions I had on another server using fn_my_permissions
USE Database_name_here
SELECT * FROM sys.fn_my_permissions(NULL, 'SERVER')
USE Database_2_name_here
SELECT * FROM sys.fn_my_permissions(NULL, 'SERVER')
The one DB that returns the expected list of permissions is the only DB where I am the owner. Others return an empty result.
My (domain) account is in the local administrators group which is in the sysadmin server role.
Whats going on here? Does my account have to be explicitly granted permissions to those schemas? Is role membership not enough?