Stiamo aggiornando il nostro ambiente di test con un nuovo server e una versione aggiornata di Microsoft SQL Server e abbiamo riscontrato un problema.
Sul nuovo server, il nostro vecchio codice otterrà "l'operazione non è consentita quando l'oggetto è chiuso" durante l'esecuzione di alcune procedure memorizzate. Questo messaggio non è mai apparso sul vecchio server. Quando l'abbiamo rintracciato, il problema può essere risolto aggiungendo SET NOCOUNT ON;
alla procedura memorizzata.
Ho esaminato le impostazioni predefinite sul database e non ho visto impostazioni diverse (SQL Server 2008 vs SQL Server 2014) relative alle impostazioni predefinite.
Quale impostazione dovrei guardare per risolverlo a livello globale senza dover aggiungere SET NOCOUNT ON
un migliaio di processi memorizzati?
SET NOCOUNT ON;
all'inizio della procedura memorizzata (dopo BEGIN
). Il numero di procedure memorizzate non dovrebbe essere un problema.
BEGIN
- è carina, ma non obbligatoria.
SET NOCOUNT ON;
, sempre.