SQL Server 2005 yeni SQL Server işlemleri geri alma yolu intoduced 2005
XACT_ABORT SET
XACT_ABORT üzerinde olduğunda. T-SQL ifadeleri otomatik olarak geri alma işlem tablolarında bir hata oluştu..
XACT_ABORT SET
Emp KULLANIMI
Tran başlayın
EmpInfo Değerler yerleştirin(1)
EmpInfo Değerler yerleştirin(1) — Bu ifade, birincil anahtar hata çıkaracağız
EmpInfo Değerler yerleştirin(2)
Commit Tran
Deyiminin ilk satırda herhangi bir hata olmadan yürütecek. Ikinci satırda birincil anahtar hata çıkaracağız. Ama bütün blok işlem tamamlanmış olmayacak çünkü on XACT_ABORT.
XACT_ABORT * toplu * sonlandırır dikkat etmelisiniz, tüm komut. Küme GO anahtar sözcüğü ile ayrılmış. Yürütme, bir sonraki toplu iş başında devam edecek.
Bu özellik aynı zamanda SQL Server 2000, çeşitli hatalar için biraz farklı davranır ama.
SQL 2000, XACT_ABORT işlem otomatik olarak geri alma başarısız durumlar vardır.
Örneğin:
Geçersiz bir sütun adı takmadan.
Identıty_ınsert OFF ile bir birincil anahtar takmadan.
Varolmayan bir UDF kullandığı bir SEÇ yürütülüyor.
Bu tür hataları genellikle kötü kaleme komuta nedeniyle, Birisi şema değiştirir sürece, bu yüzden programınızın gün-gün operasyonda meydana gelmez. Ama ben bir proje yazma veritabanı güncelleme komut yeni bir sürümünü dağıtmadan zaman kendi olasılığını hesaba, durumunda dağıtım planlandığı gibi gitmez.
Bu hataları işlemek için yollar vardır. COMMIT DML ifadeleri yerine toplu olmalı. Toplu iş sonra (GO anahtar kelimeden sonra) sıfırdan büyük olup olmadığını görmek için @ @ TRANCOUNT kontrol edin ve buna göre hareket edebilir. Genellikle ROLLBACK işlem.
İşlemler toplu yayılabilir, böylece bir sonraki toplu bir geri alma yürütebilirsiniz.