SQL Server’da application lock


SQL Server’da application lockları hiç duydunuz mu?

Ne işe yaradığını söyleyeyim, ihtiyacınız varsa, kullanmayı deneyebilirsiniz:

Diyelim ki bir stored procedure’ünüz var ve aynı anda tek kullanıcının çağırması gerekiyor. İçinde yaptığınız iş böyle bir iş. Ama SQL Server’da lockları sunucunun kendisi ayarlar, siz ise isolation levellar gibi şeyleri kullanarak yön verirsiniz. Biraz daha fazla müdahil olmak istemeniz durumunda kullanabileceğiniz bir diğer lock tipi daha var: Application lock.

sp_getapplock ve sp_releaseapplock prosedürlerini kullanarak alabiliyor veya kaldırabiliyorsunuz. Books online’dan detaylarına bakabilirsiniz. Ben burada çalışma mantığını özetleyeyim:

sp_getapplock’ta argümanlardan biri lock’ın ismi. Yani aslında sanal bir kilit kullanıyorsunuz. Kilitlediği bir nesne yok. Ancak bu sanal kilit daha önce alınmış ve bırakılmamış durumundaysa, ilgili kod kilitle karşılaşmış gibi davranıyor.

Stored procedure’lerin eş zamanlı birden fazla kişi tarafından kullanılmaması gerekliliği gibi durumlar için ideal.

Bu yazı SQL Server içinde yayınlandı. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s