24 Nisan 2017 Pazartesi

Transaction, Rollback, Commit Kullanımı

   SQL Server'da bir sorgu çalıştırdığımız zaman default olarak SQL Server hemen sonuç
döndürür.

   Eğer çalıştırılacak sorgunun başına begin transaction (yada begin tran) ifadesi kullanırsak otomatik olarak transaction explict uygulanır ve tablo üzerinde lock konulur. Bu lock transaction commit yada rollback olana kadar tablo üzerinde kalır.

   Örneğin kritik update ve  delete işlemlerinde begin tran ifadesi kullanılarak yapılan işlemin doğruluğundan emin olduktan sonra eğer bir sıkıntı yoksa commit yazarak çalıştırırsanız işlem yaptığınız en son şekilde kalacaktır. Fakat işlemi yaptıktan sonra bir problem olduğunu fark ettiniz ve geri dönmek istiyorsanız ROLLBACK yazarak bunu çalıştırırsanız veriler önceki haline gelecektir. Ama unutmayın kontrol yaparken aynı session üzerinden sadece verilere ulaşabilirsiniz. Farklı bir session üzerinden datalara ulaşmak istediğinizde tablo üzerinde lock olduğundan dolayı verilere gelmeyecektir.

  Ayrıca session üzerinde açıkta olan transaction var mı ? Varsa bunun sayısını görebilmek için
SELECT @@TRANCOUNT ifadesi ile görebilirsiniz.

 

0 yorum :

Yorum Gönder