2013-03-18 27 views

cevap

2

ROLLBACK işlem yapmadan bir işlem gerçekleştiremezsiniz. Muhtemelen implicit transactions'u kullanabilirsiniz, ancak yine de COMMIT veya ROLLBACK'u açıkça aramanız gerekir. Bununla birlikte, daha iyi kontrol için, BEGIN TRANSACTION...COMMIT/ROLLBACK bloğundaki ifadeleri yine de kullanmak daha iyidir. Bu şekilde, herhangi bir karışıklık ve IMPLICIT_TRANSACTION ayarını kullanmanız gerekmeyecektir.

2

DELETE veya TRUNCATE (ve diğer birçok işlem), ancak henüz işlenmemiş bir işlemin parçasıysa geri alabilirsiniz. Alternatif olarak silinmiş/kesilmiş verileri bir yedeklemeden geri yükleyebilirsiniz.

TRUNCATE ve DELETE arasında birkaç fark var. En önemlisi TRUNCATE yalnızca bir tabloyu boşaltabilirken, DELETE belirttiğiniz satırları siler. TRUNCATE, tabloyu, tabloyu tümüyle silmek için genellikle TRUNCATE'i DELETE'den daha verimli bir yöntem haline getiren satır düzeyinde değil, sayfa düzeyinde ayırır ve günlüğe kaydeder.

+2

Eğer bir ** tam kurtarma modeli ** kullanıyorsa, o zaman veritabanını silme komutu verilmeden önce anı geri döndü. –

3

Bu durumda geri dönüş yapamazsınız, ancak Tam Kurtarma Modeli'u kullanırken, veritabanınızı silme komutunu vermeden önceki ana geri döndürebilirsiniz.

İlgili konular