Transaction: Birden çok işlemin bir arada yapıldığı durumlarda eğer parçayı oluşturan işlemlerden herhangi birinde sorun olursa tüm işlemleri iptal etmeyi sağlar.
Örneğin kredi kartı ile alışveriş olayında transaction olayı vardır, siz marketten ürün alırken sizin hesabınızdan para düşülecek marketin hesabına para aktarılacaktır bu işlemde hata olmaması gerekir ve bu işlem transaction blogu sayesinde yapılır. Yani kodlarımız sırayla işler bu esnada bir sorun çıkarsa bütün işlem RollBack sayesinde iptal edilir.
Sql server da bir çok transaction kullanımı vardır. Kullanılan transaction sayısını ;
@@transcount --Transaction sayısı Çalışmakta olan bir transaction hakkında bilgi edinebilmek için ise aşagıdaki kodu yazıyoruz;
DBCC Opentran
Çıktısı:
Transaction information for database cozenc’
Oldest active transaction:
SPID(server process ID):52
UID(User ID):1
Name:user_transaction
LSN:(23:334:1)
Start Time:Oct 28 2009 20:06:33PM
Transaction işlemi esnasında transaction a parametreler verilir
REAL COMMITTED:Transaction sırasında değişikliğe uğrayan onaylanmamış kayıtların okunmasına izin vermez (bu sayfalara dirty page adı verilir)
REAL UNCOMMITTED:Transaction sırasında değişikliğe uğrayan onaylanmamış kayıtların okunmasına izin verir (bu sayfalara dirty page adı verilir)
REPEATABLE READ:
SERIALIZABLE:Transaction bitene kadar kullanıcıların kayıt güncelleme ve yeni kayıt girmesine izin vremez.