DBAtlas · Атлас эксплуатации баз данных

Почему вырос файл журнала / почему он не усекается

SQL ServerБэкап и журнал

Команда

SELECT name,
       recovery_model_desc,
       log_reuse_wait_desc
FROM   sys.databases
WHERE  name = N'Customer';

-- Log space usage for all databases:
SELECT DB_NAME(database_id) AS db, name, type_desc,
       size*8/1024        AS size_mb,
       CAST(FILEPROPERTY(name,'SpaceUsed') AS BIGINT)*8/1024 AS used_mb
FROM   sys.master_files
WHERE  type_desc = 'LOG';

Что делает

Столбец log_reuse_wait_desc показывает, почему журнал транзакций не может быть усечён (например, LOG_BACKUP, ACTIVE_TRANSACTION, REPLICATION, AVAILABILITY_REPLICA).

Когда использовать

Для поиска первопричины, когда файл журнала продолжает расти или журнал заполнен (ошибка 9002).

Внимание

Если показан LOG_BACKUP, решение — сделать резервную копию журнала, а не сжимать файл. Только запрос; без риска.

Открыть в DBAtlas →

Связанные материалы