İçeriğe geç

MSSQL Transaction Nedir?

sql-server-degisken-atama

SQL Transaction işlemi SQL Server üzerinde gerçekleşen bir kontrol iş birimi sorgusudur. SQL Server üzerinde Managament Studio ile yaptığınız işlemlerde yazdığınız SQL kodlarının kontrolünü sağlamanızı sağlar. Aslında internetten baktığınızda genel anlamıyla bu işlemler için bankamatik örneği verilmiştir. Dilerseniz örnekten biraz bahsetmek isterim. Şöyle ki bir kullanıcı bankamatiğe gidip belirli miktarda para çekmek ister, bankamatik arka planda sistemde çekilecek para miktarının hesapta olup olmadığını kontrol eder ve hemen ardından para çekme işlemini başlatır. Önce kart ve sonra parayı verir. Kullanıcı parayı veya kartı unuttuğunda bir önceki yapılan işlemler sıfırlanır.

SQL Transaction komutu üzerinde de bu mantıkla hareket edebilirsiniz. Örneğin büyük bir firmanın veritabanı üzerinde işlemler yapıyorsunuz. Ve yaptığınız işlemler çok kritik olduğunda bunu bir iş birimiyle kontrol etme ihtiyacı doğacaktır. En basit bir kullanıcı düzenleme işleminde eğer beklentiniz sadece 1 kullanıcının değişiklikten etkilenmesiyse ve kodu çalıştırdığınızda yüzlerce kullanıcı için değişiklik yapıldığını içeren “.. rows affected” yazısını görürseniz, bu sizin için bir facia olacaktır.

Yukarıdaki bankamatik örneği ve bahsettiğim çalışma sisteminde yapacağınız kritik işlemlerde, çalıştıracağınız kritik sql sorgularında transaction komutlarını kullanmanızı öneririm.

Bu komutlar arasına yazılan sorgu cümleleri yapılır ancak değişiklik geri alınır. Böylelikle siz alt kısımda yine “… rows affected” şeklinde çıktı alırsınız ama işleminiz yapılmaz, kontrol etmiş olursunuz.

Begin Tran

SQL sorgu kodlarınız

Rollback Tran

 

İlk Yorumu Siz Yapın

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir