Tam süre boyunca bir işlemi açık tutan uzun süren bir işlemim var.
Bunun uygulanma şekli üzerinde hiçbir kontrolüm yok.
Bir işlem tam süre boyunca açık tutulduğundan, işlem günlüğü dolduğunda, SQL Server günlük dosyasının boyutunu artıramaz.
Yani süreç hata vererek başarısız oluyor "The transaction log for database 'xxx' is full"
.
Veritabanı özelliklerinde işlem günlüğü dosyasının boyutunu artırarak bunu önlemeye çalıştım, ancak aynı hatayı alıyorum.
Bundan sonra ne denemem gerektiğinden emin değilim. İşlem birkaç saat sürer, bu nedenle deneme yanılma ile oynamak kolay değildir.
Herhangi bir fikir?
İlgilenen biri varsa, süreç, Microsoft Dynamics CRM 4.0.
Bol miktarda disk alanı var, günlük kaydı basit günlük modunda var ve işlemi başlatmadan önce günlüğü yedekledik.
- = - = - = - = - GÜNCELLEME - = - = - = - = -
Şimdiye kadarki yorumlar için hepinize teşekkürler. Aşağıdakiler, açık işlem nedeniyle günlüğün büyümeyeceğine inanmamı sağladı:
Aşağıdaki hatayı alıyorum...
Import Organization (Name=xxx, Id=560d04e7-98ed-e211-9759-0050569d6d39) failed with Exception:
System.Data.SqlClient.SqlException: The transaction log for database 'xxx' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
Bu tavsiyeye uyarak " log_reuse_wait_desc column in sys.databases
" bölümüne gittim ve değeri korudu "ACTIVE_TRANSACTION
.
Microsoft'a göre: http://msdn.microsoft.com/en-us/library/ms345414(v=sql.105).aspx
Bu şu anlama gelir:
Bir işlem etkin (tüm kurtarma modelleri). • Günlük yedeklemenin başlangıcında uzun süren bir işlem olabilir. Bu durumda, alanı boşaltmak başka bir günlük yedeklemesi gerektirebilir. Daha fazla bilgi için, bu konunun ilerisindeki "Uzun Süreli Aktif İşlemler" konusuna bakın.
• Bir işlem ertelendi (yalnızca SQL Server 2005 Enterprise Edition ve sonraki sürümler). Ertelenmiş bir işlem, bazı mevcut olmayan kaynaklar nedeniyle geri dönüşü engellenen etkin bir işlemdir. Ertelenen işlemlerin nedenleri ve bunların ertelenmiş durumdan nasıl çıkarılacağı hakkında bilgi için bkz. Ertelenmiş İşlemler.
Bir şeyi yanlış mı anladım?
- = - = - = - GÜNCELLEME 2 - = - = - = -
Başlangıç günlük dosyası boyutu 30 GB olarak ayarlanmış olarak süreci başlattı. Bu işlemin tamamlanması birkaç saat sürecektir.
- = - = - = - Son GÜNCELLEME - = - = - = -
Sorun aslında tüm kullanılabilir disk alanını tüketen günlük dosyasından kaynaklanıyordu. Son denemede 120GB'ı serbest bıraktım ve hala hepsini kullandı ve sonuçta başarısız oldu.
Bunun daha önce olduğunu fark etmemiştim çünkü süreç bir gecede çalışırken, başarısızlık üzerine geri dönüyordu. Bu sefer geri dönüşten önce günlük dosyasının boyutunu kontrol edebildim.
Girdiğiniz bütün veriler için teşekkürler.