Что такое формат файла TRN?
Файл .trn - это резервная копия журнала транзакций Microsoft SQL Server - бинарная копия всех изменений, зафиксированных в журнале транзакций базы данных с момента создания предыдущего журнала или полной резервной копии. Резервные копии журналов создаются с помощью инструкции T-SQL BACKUP LOG или через SQL Server Management Studio (SSMS).
Несмотря на наличие выделенного расширения, файлы .trn используют тот же базовый контейнер, что и файлы полных резервных копий .bak: Microsoft Tape Format (MTF), идентифицируемый по четырехбайтовой сигнатуре TAPE (hex 54 41 50 45) в начале файла. Расширение .trn является общепринятым соглашением об именовании, а не требованием формата - SQL Server принимает любое расширение, и многие организации используют .bak для всех типов резервных копий.
Резервные копии журналов транзакций доступны только в том случае, если база данных использует модель восстановления FULL или BULK_LOGGED. Базы данных в модели восстановления SIMPLE не могут их создавать. Цепочка восстановления на определенный момент времени требует: полную резервную копию → опционально одну или несколько разностных копий → последовательность журналов .trn, применяемых в порядке номеров последовательности журналов (LSN).
В SQL Server 2008 было введено дополнительное сжатие резервных копий (BACKUP WITH COMPRESSION), что значительно сокращает размер файлов в нагруженных системах. В SQL Server 2014 добавлено шифрование резервных копий с использованием сертификатов или асимметричных ключей. Размер файла варьируется от менее 1 МБ в неактивных базах данных до сотен гигабайт в системах с большим объемом транзакций.
Формат развивается с каждым выпуском SQL Server, и файл .trn не может быть восстановлен на версии сервера более старой, чем та, на которой он был создан. Начиная с SQL Server 2017, формат также поддерживается в Linux.
Безопасность и защита
РИСК: MEDIUMФайлы TRN содержат полную запись всех транзакций базы данных, включая фактические значения данных (содержимое INSERT/UPDATE). Если база данных содержит персональные данные, конфиденциальную финансовую информацию или секреты, утечка файла .trn раскроет всё это. Храните и передавайте резервные копии журналов с теми же мерами безопасности, что и саму базу данных. SQL Server 2014+ поддерживает шифрование на уровне резервных копий с помощью сертификата сервера.
Детали формата
в двух словах- Файл данных обучения (различные приложения) - Некоторое программное обеспечение для симуляции, языковые инструменты и игры используют .trn для данных обучения/локализации; не связано с SQL Server.
- Файл перевода/локали - Некоторое ПО (Ulead, старые инструменты CAD) использует .trn для строк перевода или локализации.
Программы, открывающие файлы TRN
Технические подробности
глубокая спецификация| Формат контейнера | Microsoft Tape Format (MTF) - тот же бинарный контейнер, который используется в полных резервных копиях `.bak` |
| Магические байты со смещением 0 | `TAPE` (hex 54 41 50 45) - оригинальная сигнатура заголовка ленточного устройства MTF |
| Требование к модели восстановления | Только базы данных FULL или BULK_LOGGED; базы данных с моделью восстановления SIMPLE не могут создавать резервные копии журналов |
| Цепочка LSN | Каждая резервная копия охватывает диапазон номеров последовательности журналов (LSN); резервные копии журналов должны применяться в строгом порядке LSN во время восстановления |
| Сжатие | Опционально через `BACKUP WITH COMPRESSION` (SQL Server 2008+); по умолчанию сжатие отсутствует |
| Шифрование | Опциональное шифрование на основе сертификатов или асимметричных ключей (SQL Server 2014+); наследует Transparent Data Encryption, если оно включено |
| Типичный размер файла | От 1 МБ до 100 ГБ+ в зависимости от объема транзакций с момента предыдущего резервного копирования журнала |
| Метка версии | Заголовок резервной копии содержит версию исходного SQL Server; восстановление на более старую версию сервера заблокировано |
| Проверка целостности | Опционально `WITH CHECKSUM` во время резервного копирования; проверяется автономно с помощью `RESTORE VERIFYONLY` |
| Цепочка восстановления | Полная резервная копия → опциональные разностные копии → последовательные журналы `.trn` в порядке LSN |
| Соглашение о расширении | `.trn` - это только соглашение об именовании; SQL Server не навязывает конкретное расширение - многие специалисты используют `.bak` для всех типов резервных копий |
| Поддержка платформ | Windows (нативно); Linux поддерживается через SQL Server on Linux (SQL Server 2017+) |
| Выпущен | ~1993 (SQL Server 6.0 era; .trn as convention established in SQL Server 7.0, 1998) |
| Последняя версия | Compatible with SQL Server 2022 (current); format evolves with SQL Server versions |
| Спецификация | learn.microsoft.com |
Конвертации TRN
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах TRN.