Basado en una pregunta similar:“La operación no está permitida cuando el objeto está cerrado” al ejecutar el procedimiento almacenado recomendé en el comentario:
La razón más común de Operation is not allowed when the object is closed
es que ese procedimiento almacenado no contiene SET NOCOUNT ON
comando, que evita que los conjuntos de resultados adicionales interfieran con SELECT
declaraciones.
Para obtener más información, consulte:SET NOCOUNT (Transact-SQL)