SQL Server NOEXEC Komutu Nedir ?

Reading Time: 2 minutes

SQL Server da NOEXEC komutu ne işe yarar sorusunu bu makalede cevaplayacağız.

SQL Server herhangi bir sorguyu iki aşamada yürütür temel anlamda , bu aşamalar  Compilation ve Execution dır. Derleme aşamasında sorgunun syntax ını ve nesne adlarını ndoğruluğunu teyid etmeyi sağlar. Default ta session ların NOEXEC ayarı OFF dur ve bu yüzden  derleme aşamasından sonra EXECUTE yani çalıştırma aşamasını gerçekleştirir.

Bunu SQLTURKIYE veritabanı altında bir demo tablo oluşturup içerisine bir kaç data basıp gerçekleştirelim.

Şimdi ise tablomuza data basalım ,

Yukarıda da bahsettiğim üzere session ların default NOEXEC ayarı OFF yani direkt derlemeden sonra çalıştırma işlemine dayalı.

Tablomuza bir de SET NOEXEC OFF yani default değerini vererek bir kayıt ekleyelim ve sonra tablomuzd aki dataları kontrol edelim.

Şimdi ise tablomuzu kontrol edelim,

Şimdi ise ayrı bir Session da NOEXEC i ON yaparak tablomuza bir data ekleyelim ve sonucunu inceleyelim.

SET NOEXEC ON komutu ile Derlemeden sonra EXECUTE işlemini gerçekleştirmediğini görmekteyiz. Hemen farklı bir sessionda tablomuza SELECT atalım çünkü aynı sessionda SELECT attığımızda da gelmeyecek. Peki neden diye sorar olduğunuzu duyuyorum çünkü defaultta session ın OFF olan değerini ON yaptık ve Derlemeden sonra Execute yani çalıştırma işlemini o sessionda artık gerçekleştirmeyecek taki aynı Sessionda SET NOEXEC OFF sürecini çalıştırana kadar. Bu arada bunu kendi sessionlarınızda deneyerek görebilrisiniz.

Normalde bu Insert işlemi gerçekleşmiş olsaydı tablomuzda 100 no lu Id değerine sahşp bir kayıt ile beraber toplam 5 kayıdımız olması gerekmekte. Şimdi diğer sesisondan tablomuza SELECT çekiyoruz.

Gördüğünüz üzere tablomuza dediğimiz gibi data eklenmemiş. Çünkü NOEXEC ON ibaresi Compilation işleminden sonra Execution işlemini gerçekleştirme anlamına gelmektedir.

Kolay Gelsin

 

2 Replies to “SQL Server NOEXEC Komutu Nedir ?”

  1. Hocam bu tarz bir süreci hiç tahmin etmemiştim. Gerçekten çok sağolun bu gibi engin bilgieri bizimle paylaşmanız ve yönlendirmenizden dolayı.

    1. Selam İlhan ,

      Genelde bilinen bir süreç değildir. Daha tekniğin dibi dediğimiz noktalardır buralar. Fakat bu tarz script ler le karşılaştığınızda buna dikkat etmeniz çok önemli. Engine hareketlerini manage ediyorusnuz bu tarz işlemlerde.

      Kolay Gelsin.

Leave a Reply

Your email address will not be published. Required fields are marked *