Il est possible d'obtenir un handle pour une base de données sans l'ouvrir. Si vous essayez d'appeler la plupart des méthodes sans l'ouvrir d'abord, vous obtiendrez cette erreur. L'explication la plus probable est que vous n'avez pas accès à l'ouvrir.
Quel identifiant a signé l'agent? Probablement pas le serveur. L'agent s'exécutera avec l'autorité du signataire de l'agent, c'est donc l'identifiant qui doit figurer dans la liste de contrôle d'accès de la base de données que vous essayez d'ouvrir.
Il y a tout un tas de règles sur la façon dont les agents peuvent fonctionner sous différentes autorités et au nom de différents utilisateurs. Cela peut devenir assez complexe si la situation l'exige. Mais vérifiez que le signataire de l'agent a le droit d'ouvrir la base de données en premier, puis regardez les paramètres "Exécuter pour le compte de".
Avez-vous trouvé une solution? J'ai le même problème et ai vérifié le contrôle d'accès et il semble bien. – invalidsyntax