Basé sur une question similaire :"L'opération n'est pas autorisée lorsque l'objet est fermé" lors de l'exécution de la procédure stockée j'ai recommandé en commentaire :
La raison la plus courante de Operation is not allowed when the object is closed est que cette procédure stockée ne contient pas SET NOCOUNT ON commande, qui empêche les ensembles de résultats supplémentaires d'interférer avec SELECT déclarations.
Pour plus d'informations, veuillez consulter :SET NOCOUNT (Transact-SQL)