Nous mettons à niveau notre environnement de test avec un nouveau serveur et une version mise à jour de Microsoft SQL Server et avons rencontré un problème.
Sur le nouveau serveur, notre ancien code obtiendra "l'opération n'est pas autorisée lorsque l'objet est fermé" lors de l'exécution de certaines procédures stockées. Ce message n'est jamais apparu sur l'ancien serveur. Lorsque nous l'avons retrouvé, le problème peut être résolu en ajoutant SET NOCOUNT ON;
à la procédure stockée.
J'ai regardé les valeurs par défaut de la base de données et je n'ai vu aucun paramètre différent (SQL Server 2008 vs SQL Server 2014) lié aux valeurs par défaut.
Quel paramètre dois-je envisager pour résoudre ce problème à l'échelle mondiale sans avoir à ajouter SET NOCOUNT ON
à un millier de procs stockés?
SET NOCOUNT ON;
au début de la procédure stockée (après BEGIN
). Le nombre de procédures stockées ne devrait pas vraiment être un problème.
BEGIN
- c'est bien, mais pas obligatoire.
SET NOCOUNT ON;
, toujours.