9002: The transaction log for database is full due to ...
SQL ServerNe demek?
Veritabanının transaction log dosyası doldu ve yeni transaction'lar kaydedilemiyor. Veritabanı yazma işlemlerini reddeder, salt okunur benzeri duruma düşebilir.
Neden olur?
FULL recovery modelinde log yedeği alınmaması, uzun süre açık kalan transaction, replikasyon/AlwaysOn gecikmesi, log'un büyüyememesi (autogrow kapalı veya disk dolu). Nedeni log_reuse_wait_desc gösterir.
Nasıl çözülür?
sys.databases içindeki log_reuse_wait_desc değerine bakın. FULL modelde LOG_BACKUP bekliyorsa log yedeği alın (BACKUP LOG). ACTIVE_TRANSACTION varsa açık transaction'ı bulup commit/rollback yapın (DBCC OPENTRAN). Diskte yer açın veya log dosyasının autogrow ayarını düzeltin. Log gerçekten büyümüşse yedek sonrası DBCC SHRINKFILE ile küçültün. Log'a ihtiyacınız yoksa recovery modelini gözden geçirin.
Aynı motorda diğer kayıtlar
- 8152String or binary data would be truncated
- 2628String or binary data would be truncated in table, column ...; truncated value
- 1222Lock request time out period exceeded
- 1105Could not allocate space for object in database because the filegroup is full
- 208Invalid object name
- 229The SELECT/EXECUTE permission was denied on the object
- 4060Cannot open database requested by the login. The login failed