MS SQL Server: verifique se um usuário pode executar um procedimento armazenado

Como você pode verificar se um usuário pode executar um procedimento armazenado no servidor MS SQL?

Eu posso ver se o usuário tem permissões de execução explícitas conectando-se ao banco de dados mestre e executando:

databasename..sp_helpprotect 'storedProcedureName', 'username'

no entanto, se o usuário for membro de uma função com permissões de execução, sp_helprotect não me ajudará.

Idealmente, eu gostaria de poder chamar algo como

databasename..sp_canexecute 'storedProcedureName', 'username'

que retornaria um bool.

questionAnswers(3)

yourAnswerToTheQuestion