Резервная копия базы данных (.bak)

Спецификация Стандарт

BAK : распространённое расширение файлов резервных копий, но не универсальный формат. Некоторые файлы .bak являются резервными копиями SQL Server, другие : копиями конкретных приложений; их содержимое зависит от создавшей программы.

Конвертировать из BAK в SQL

Бесплатный конвертер из BAK в SQL прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы BAK по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы BAK по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

42 41 43 4B 55 50 / TAPE

ПРЕДСТАВЛЕНИЕ ASCII: BACKUP

Стандартизация: Спецификация резервного копирования Microsoft SQL Server / общий формат резервной копии

Технические спецификации

Архитектура контейнераMicrosoft Tape Format (MTF) или хранилище страниц проприетарной базы данных, содержащее журналы транзакций, файлы данных и метаданные
СжатиеВстроенное сжатие резервных копий SQL Server, прозрачное сжатие страниц или без сжатия
Порядок байтов (Endianness)Младший байт первым (Little-Endian, Microsoft SQL Server)
Цветовые пространстваН/Д (архив базы данных)
Каналы и структураСхемы баз данных, строки таблиц, индексы, хранимые процедуры и контрольные точки журналов транзакций
Максимальные размерыПрактически не ограничено (поддерживает резервные копии корпоративных баз данных объемом в терабайты)
ПрозрачностьОтсутствует
Потоковая передача и прогрессивная загрузкаПоследовательная потоковая передача блоков медиаданных (совместимо с ленточными накопителями и облачным хранилищем BLOB)

Техническая матрица сравнения: BAK с конкурентами

Технический атрибутBAK (Текущий)SQLVHDISO
СодержимоеПолный бинарный снимок базы данныхТекстовый скрипт SQL с командами INSERTОбраз диска виртуальной машиныОбраз файловой системы оптического диска
Скорость восстановленияВысокоскоростное прямое копирование страниц в бинарном видеНизкая (повторное выполнение SQL-инструкций)Загрузочный виртуальный дискМонтирование по секторам
Формат файлаПроприетарный формат Microsoft Tape FormatТекстовый SQL-скрипт ANSI/ISOКонтейнер виртуального диска MicrosoftОбраз диска ISO 9660 / UDF
Совместимость с системами управления базами данныхЭксклюзивно для Microsoft SQL ServerПоддержка зависит от программы.Hyper-V / VirtualBox / VMwareПоддержка зависит от программы.

Распространенные сценарии повреждения и руководство по восстановлению в HEX

Ошибка SQL Server: 'RESTORE DATABASE завершается аварийно: сбой контрольной суммы страницы'.

Первопричина: Повреждённый сектор накопителя, из-за которого не совпала контрольная сумма страницы базы данных.

Восстановление: Попытайтесь выполнить восстановление с параметром 'CONTINUE_AFTER_ERROR' или восстановите с помощью инструмента резервного копирования File2File.app.

Анализ безопасности и векторы атак на парсер

Файлы резервных копий баз данных содержат полные базы данных компаний и должны быть зашифрованы с использованием сертификатов для предотвращения несанкционированного доступа.

Известные векторы атак

  • Кража незашифрованных файлов BAK, дающая злоумышленникам полный доступ ко всем записям клиентов и паролям.
  • Переполнение буфера в утилитах синтаксического анализа заголовков резервных копий.
  • Отказ в обслуживании из-за некорректных описателей носителей резервной копии.

Лучшие практики защиты: Если это поддерживается, включите шифрование баз данных и резервных копий, а ключи защитите отдельно.

История происхождения и ключевые этапы

2016Microsoft SQL Server 2016 представляет встроенное прозрачное шифрование резервных копий и гибридное облачное резервное копирование.
2008SQL Server 2008 добавляет встроенную компрессию бэкапов непосредственно в файлы .bak.
1989Microsoft SQL Server 1.0 закладывает стандартную архитектуру резервного копирования баз данных .bak.

Ключевые преимущества и плюсы

  • Полное восстановление базы данных на определенный момент времени: позволяет восстановить базы целиком, включая схемы, данные, пользователей и права доступа.
  • Надежная проверка целостности: файл содержит встроенные заголовки носителей, контрольные суммы страниц и средства обнаружения поврежденных страниц.
  • Встроенная поддержка дифференциальных резервных копий и цепочек журналов транзакций для минимизации окон резервного копирования.

Технические ограничения и минусы

  • Привязка к версии SQL Server: файл .bak, созданный в более новой версии SQL Server, не может быть восстановлен на старой версии.
  • Корпоративные базы данных занимают много места, если не включено встроенное сжатие резервных копий.
  • Невозможно открыть с помощью обычных текстовых редакторов или программ, не связанных с базами данных, без предварительного преобразования.

Интересные технические факты

  • Формат .bak в Microsoft SQL Server исторически происходит от Microsoft Tape Format (MTF), разработанного для потоковой записи на физические катушки магнитной ленты.
  • Многие приложения САПР, векторные редакторы и текстовые редакторы автоматически создают файл .bak как резервную копию ранее сохранённого файла на случай сбоя.
  • Администраторы баз данных часто повторяют правило: «Резервной копии не существует до тех пор, пока Вы успешно ее не восстановили».

Часто задаваемые технические вопросы

Что такое файл .bak?

Расширение .bak не обозначает единственный формат. Резервные копии SQL Server : один из вариантов; другие приложения используют его для копий, содержимое которых зависит от создавшей их программы.

Как восстановить файл .bak?

В SQL Server Management Studio (SSMS) щелкните правой кнопкой мыши пункт Databases, выберите Restore Database, укажите Device и выберите файл .bak.

Могу ли я конвертировать файл BAK в SQL-скрипты или CSV?

Да. File2File.app может анализировать файлы .bak от SQL Server и извлекать таблицы баз данных прямо в чистые SQL-скрипты или электронные таблицы CSV.