MS SQL Server: compruebe si un usuario puede ejecutar un procedimiento almacenado

¿Cómo puede verificar si un usuario puede ejecutar un procedimiento almacenado en el servidor MS SQL?

Puedo ver si el usuario tiene permisos de ejecución explícitos al conectarme a la base de datos maestra y ejecutar:

databasename..sp_helpprotect 'storedProcedureName', 'username'

sin embargo, si el usuario es miembro de un rol que tiene permisos de ejecución, sp_helprotect no me ayudará.

Idealmente me gustaría poder llamar a algo como

databasename..sp_canexecute 'storedProcedureName', 'username'

lo que devolvería un bool.

Respuestas a la pregunta(3)

Su respuesta a la pregunta