Test ortamımızı yeni bir sunucu ve Microsoft SQL Server'ın güncellenmiş sürümü ile güncelliyoruz ve bir sorunla karşılaştık.
Yeni sunucuda, bazı eski yordamlar yürütülürken eski kodumuza "nesne kapatıldığında işleme izin verilmiyor" mesajı verilir. Bu ileti eski sunucuda hiç görünmedi. İzlediğimizde SET NOCOUNT ON;
, saklı yordama eklenerek sorun çözülebilir .
Veritabanındaki varsayılanlara baktım ve varsayılanlarla ilgili farklı hiçbir ayar görmedim (SQL Server 2008 vs SQL Server 2014).
SET NOCOUNT ON
Bin tane kayıtlı proca eklemeye gerek kalmadan bunu küresel olarak çözmek için hangi ayara bakmalıyım ?
SET NOCOUNT ON;
başlangıcına (sonra BEGIN
) ekleyebileceğinizi unutmayın . Saklı yordamların sayısı gerçekten bir sorun olmamalıdır.
BEGIN
- güzel, ama gerekli değil.
SET NOCOUNT ON;
, her zaman başlaması gerektiğini bile iddia edebilirim .