Wir aktualisieren unsere Testumgebung mit einem neuen Server und einer aktualisierten Version von Microsoft SQL Server und sind auf ein Problem gestoßen.
Auf dem neuen Server wird unser alter Code "Vorgang ist nicht zulässig, wenn das Objekt geschlossen wird", wenn einige gespeicherte Prozeduren ausgeführt werden. Diese Nachricht wurde nie auf dem alten Server angezeigt. Wenn wir es gefunden haben, kann das Problem durch Hinzufügen SET NOCOUNT ON;
zur gespeicherten Prozedur behoben werden.
Ich habe mir die Standardeinstellungen in der Datenbank angesehen und festgestellt, dass keine anderen Einstellungen (SQL Server 2008 im Vergleich zu SQL Server 2014) in Bezug auf die Standardeinstellungen vorgenommen wurden.
Auf welche Einstellung sollte ich SET NOCOUNT ON
achten , um dies global zu lösen, ohne tausend gespeicherte Procs hinzufügen zu müssen?
SET NOCOUNT ON;
am Anfang der gespeicherten Prozedur (nach BEGIN
) anzuhängen . Die Anzahl der gespeicherten Prozeduren sollte eigentlich kein Problem sein.
BEGIN
- es ist nett, aber nicht erforderlich.
SET NOCOUNT ON;
.