SQL Server ACID Kuralları
ACID, ilişkisel veritabanı yönetim sistemlerinin(RDBMS) sağlaması gereken 4 ana kuraldır. İlişkisel veritabanları ve sql server hakkında daha detaylı bilgi almak için “SQL Server Nedir?” isimli makaleyi okumak isteyebilirsiniz.
ACID Kuralları:
Atomicity (Bölünmezlik): Ya hep Ya Hiç prensibini benimser. Bir transaction içersinde bir işlem fail ediyorsa tüm işlemler her durumda(sunucu kapanması , hata alınması) fail etmelidir.
Consistency (Tutarlılık): Transaction bitimine kadar, eğer constraints, cascades, triggers gibi tanımlanmış kuralların ihlali gerçekleşirse veritabanındaki bütün veri transaction başlamadan önceki hali ile kalmalıdır.
Isolation (İzolasyon): Aynı anda aynı veri üzerinde birden fazla transaction değişiklik yapamamalıdır. Bir transaction bir alanda işlem yapıyorsa işlemi bitene kadar bu alan diğer transaction’lardan izole edilmelidir. SQL Server’da bir çok Isolation Level vardır. Default olarak Read Committed Isolation Level’i kullanır. Isolation Level’ler ile ilgili aşağıdaki makaleleri okuyabilirsiniz.
Durability (Süreklilik): Eğer bir transaction başarılı bir şekilde gerçekleştiyse(commit edildiyse) bu veri sistem fail etse bile garanti altında olmalıdır. Örneğin bir update işlemini commit ettiniz tam o esnada sunucu kapandı. SQL Server Transaction Log dosyası yardımıyla bu özelliği sağlar. “SQL Server Transaction Log Nedir” isimli makaleyi okumak isteyebilirsiniz.