Co to jest format pliku TRN?
Plik .trn to kopia zapasowa dziennika transakcji Microsoft SQL Server - binarny zapis wszystkich zmian zarejestrowanych w dzienniku transakcji bazy danych od czasu poprzedniego dziennika lub pełnej kopii zapasowej. Kopie zapasowe dziennika są tworzone za pomocą instrukcji T-SQL BACKUP LOG lub poprzez SQL Server Management Studio (SSMS).
Pomimo posiadania dedykowanego rozszerzenia, pliki .trn używają tego samego kontenera bazowego co pliki pełnej kopii zapasowej .bak: Microsoft Tape Format (MTF), identyfikowalnego po czterobajtowej sygnaturze TAPE (hex 54 41 50 45) na początku pliku. Rozszerzenie .trn jest powszechnie przyjętą konwencją nazewnictwa, a nie wymogiem formatu - SQL Server akceptuje dowolne rozszerzenie, a wiele organizacji używa .bak dla wszystkich typów kopii zapasowych.
Kopie zapasowe dziennika transakcji są dostępne tylko wtedy, gdy baza danych korzysta z modelu odzyskiwania FULL lub BULK_LOGGED. Bazy danych w modelu odzyskiwania SIMPLE nie mogą ich generować. Łańcuch przywracania do punktu w czasie wymaga: pełnej kopii zapasowej → opcjonalnie jednej lub więcej kopii różnicowych → sekwencji kopii zapasowych dziennika .trn stosowanych w kolejności Log Sequence Number (LSN).
SQL Server 2008 wprowadził opcjonalną kompresję kopii zapasowych (BACKUP WITH COMPRESSION), co znacznie zmniejsza rozmiary plików w obciążonych systemach. SQL Server 2014 dodał szyfrowanie kopii zapasowych przy użyciu certyfikatów lub kluczy asymetrycznych. Rozmiar plików waha się od poniżej 1 MB w przypadku mało aktywnych baz danych do setek gigabajtów w systemach o dużym wolumenie transakcji.
Format ewoluuje wraz z każdym wydaniem SQL Server, a plik .trn nie może zostać przywrócony na starszej wersji serwera niż ta, która go utworzyła. Od wersji SQL Server 2017 format jest obsługiwany również w systemie Linux.
Bezpieczeństwo
RYZYKO: MEDIUMPliki TRN zawierają kompletny zapis wszystkich transakcji bazy danych, w tym rzeczywiste wartości danych (zawartość INSERT/UPDATE). Jeśli baza danych zawiera dane osobowe, wrażliwe dane finansowe lub tajemnice, wyciek pliku .trn ujawnia je wszystkie. Przechowuj i przesyłaj kopie zapasowe dziennika z takimi samymi zabezpieczeniami jak samą bazę danych. SQL Server 2014+ obsługuje szyfrowanie na poziomie kopii zapasowej za pomocą certyfikatu serwera.
Szczegóły formatu
w pigułce- Plik danych treningowych (różne aplikacje) - Niektóre programy do symulacji, narzędzia językowe i gry używają .trn dla danych treningowych/lokalizacyjnych; niepowiązane z SQL Server.
- Plik tłumaczenia/lokalizacji - Niektóre programy (Ulead, starsze narzędzia CAD) używają .trn dla ciągów tłumaczeń lub lokalizacji.
Programy otwierające pliki TRN
Szczegóły techniczne
specyfikacja| Format kontenera | Microsoft Tape Format (MTF) - ten sam kontener binarny, którego używają pełne kopie zapasowe `.bak` |
| Magiczne bajty pod offsetem 0 | `TAPE` (hex 54 41 50 45) - oryginalna sygnatura nagłówka urządzenia taśmowego MTF |
| Wymagany model odzyskiwania | Tylko bazy danych FULL lub BULK_LOGGED; bazy w modelu SIMPLE nie mogą generować kopii zapasowych dziennika |
| Łańcuch LSN | Każda kopia zapasowa obejmuje zakres Log Sequence Number (LSN); kopie dziennika muszą być stosowane w ścisłej kolejności LSN podczas przywracania |
| Kompresja | Opcjonalna poprzez `BACKUP WITH COMPRESSION` (SQL Server 2008+); domyślnie brak kompresji |
| Szyfrowanie | Opcjonalne szyfrowanie oparte na certyfikatach lub kluczach asymetrycznych (SQL Server 2014+); dziedziczy Transparent Data Encryption, jeśli jest włączone |
| Typowy rozmiar pliku | 1 MB - 100 GB+ w zależności od wolumenu transakcji od czasu poprzedniej kopii zapasowej dziennika |
| Znacznik wersji | Nagłówek kopii zapasowej zawiera wersję źródłową SQL Server; przywracanie do starszej wersji serwera jest zablokowane |
| Weryfikacja integralności | Opcjonalnie `WITH CHECKSUM` podczas tworzenia kopii; możliwość weryfikacji offline za pomocą `RESTORE VERIFYONLY` |
| Łańcuch przywracania | Pełna kopia zapasowa → opcjonalne kopie różnicowe → sekwencyjne kopie dziennika `.trn` w kolejności LSN |
| Konwencja rozszerzenia | `.trn` to tylko konwencja nazewnictwa; SQL Server nie wymusza konkretnego rozszerzenia - wiele firm używa `.bak` dla wszystkich typów kopii |
| Obsługa platform | Windows (natywnie); Linux obsługiwany przez SQL Server on Linux (SQL Server 2017+) |
| Wydano | ~1993 (SQL Server 6.0 era; .trn as convention established in SQL Server 7.0, 1998) |
| Najnowsza wersja | Compatible with SQL Server 2022 (current); format evolves with SQL Server versions |
| Specyfikacja | learn.microsoft.com |
Konwersje TRN
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki TRN.