Экспертиза баз данных и СУБД

Судебная экспертиза базы данных SQLite

Устанавливаем, что содержала база SQLite, можно ли восстановить удалённые записи и откуда взялось повреждение. Для первого обращения достаточно описания — без копии устройства и паролей.

Ориентир по стоимости экспертизы
от 100 000 ₽
Ориентир по сроку экспертизы
от 10 рабочих дней
  • Судебные экспертизы
  • Внесудебные исследования
  • Рецензирование заключений
01 Проверим компетенцию

До оплаты определим, относится ли задача к выбранному виду исследования.

02 Поможем подготовиться

Уточним вопросы и перечень материалов — готовый комплект не обязателен.

03 Работаем с регионами

Принимаем задачи из России, Казахстана и Беларуси; часть материалов можно передать электронно.

04 Сопровождаем результат

Разъясняем методику и выводы, отвечаем на вопросы суда в пределах компетенции эксперта.

О направлении

Подробно о задачах, объектах и методиках

Материал описывает типовые задачи и вопросы. Окончательные формулировки определяются с учётом компетенции эксперта, а правовую оценку обстоятельствам даёт суд.

Содержание страницы

    Экспертиза SQLite исследует данные встроенных приложений: мобильных программ, браузеров, мессенджеров, настольного ПО, устройств и локальных сервисов. Объектом часто является не один файл с расширением .db, а согласованный комплект из основного файла базы, журнала упреждающей записи WAL, файла общей памяти SHM, журнала отката, резервных копий и контекста приложения. Специалист определяет структуру и данные, проверяет целостность, оценивает следы изменений и возможность восстановления. Это отдельное направление экспертизы баз данных и СУБД.

    Предварительно можно оценить, достаточно ли материалов для ответа. Для первого обращения обычно хватает описания приложения и события, перечня файлов с размерами и временем получения, версии устройства или программы и указания спорного периода. Прогноз может показать, что нужные страницы ещё есть в WAL или копии, либо выявить отсутствие подходящего источника после контрольной точки, VACUUM, secure_delete или перезаписи. По итогам становится понятно, стоит ли начинать полное исследование или сначала искать дополнительные копии.

    Не открывайте единственный файл SQLite обычным приложением и не отделяйте его от файлов с тем же именем и суффиксами -wal, -shm или -journal. Запуск программы может выполнить контрольную точку, изменить схему, служебные поля или удалить временные файлы. Сначала сохраните весь контейнер приложения либо образ носителя, зафиксируйте источник, время и часовой пояс, затем работайте с проверенной копией.

    Отдельно о том, что будет, если ответить не удастся. Задачу, по которой уже из присланных материалов видно, что вывода не получится, мы просто не берём в работу и говорим об этом сразу. Это не обещание положительного вывода: отказ на входе означает лишь, что невозможность видна уже из перечня материалов. Если же невозможность выясняется по итогам полноценного исследования, это результат, а не пустой счёт: заключение объясняет, почему ответа нет и чего именно не хватило. В споре такой вывод часто закрывает вопрос: обоснованный ответ, что страницы удалённых записей уже переиспользованы приложением, показывает суду границы имеющихся источников. Назначать ли после этого дополнительную или повторную экспертизу, решает назначивший её орган. Бывает и частичная невозможность: тогда указывают, на какие вопросы ответ получен, а на какие нет и по какой причине.

    Кто снимает копию, решают по объекту. Иногда это делает сам заказчик или его администратор по согласованному плану; иногда — наш специалист, удалённо или с выездом, как отдельная консультация; иногда фиксация входит в саму экспертизу. Выбор зависит от объекта и от того, чей он: комплект файлов приложения снимают иначе, чем образ всего носителя, а с изъятого устройства — иначе, чем с рабочего компьютера сотрудника. Если инфраструктурой управляет другая сторона, порядок доступа определяет суд, и фиксацию проводят с участием эксперта.

    Копировать устройство или контейнер приложения можно, только имея на это право. Образ носителя телефона или рабочего компьютера — это переписка, документы и сведения о людях целиком, а не один спорный файл, поэтому объём копирования, круг допущенных лиц, срок хранения и порядок удаления рабочих копий определяют до начала работ. Если устройство принадлежит другой стороне или третьему лицу, копию получают через суд — ходатайством об истребовании или об обеспечении доказательств.

    Особенность SQLite как объекта исследования

    SQLite — встраиваемая библиотека, а не отдельный сервер с обязательными пользователями и централизованным аудитом. Значение таблиц, идентификаторов и временных полей задаёт приложение. Одинаковый формат файла может использоваться совершенно разными программами, а конкретная сборка SQLite, параметры компиляции, расширения, PRAGMA и ключ шифрования влияют на чтение и интерпретацию.

    Чтобы определить состав и происхождение базы:

    • идентифицируют приложение, пакет, профиль пользователя, путь и назначение каждой базы;
    • устанавливают версию SQLite и при возможности параметры компиляции, размер страницы, кодировку, версию схемы и режим журналирования;
    • проверяют, является ли файл обычной SQLite, зашифрованным контейнером либо производным форматом;
    • связывают технические таблицы с интерфейсом и логикой конкретной версии приложения;
    • отделяют состояние на момент изъятия от данных, восстановленных из свободных областей или иных копий.

    Что может и чего не может установить эксперт

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

    При достаточных материалах эксперт может установить:

    • какие таблицы, индексы, триггеры и представления существовали и какие записи читаются в представленном состоянии;
    • какие кадры подтверждённых транзакций содержит согласованный WAL, какую границу состояния они позволяют воспроизвести и какие изменения ещё не отражены в основном файле базы;
    • различаются ли версии базы и какие строки или поля изменились между согласованными снимками;
    • имеются ли структурные нарушения, признаки неполного копирования или несогласованности основного файла базы и WAL;
    • сохранились ли кандидаты на ранее удалённые сведения и насколько надёжна их интерпретация;
    • соответствует ли база измеримым требованиям приложения или миграции.

    SQLite не хранит универсальный ответ о физическом пользователе и времени каждой операции. Файловые метки времени отражают действия файловой системы и могут меняться при копировании, синхронизации или выполнении контрольной точки. Поля created_at и updated_at имеют смысл только после проверки кода и правил приложения. Эксперт может сопоставить событие с техническими идентификаторами по учётной записи, журналам программы, ОС, облачной синхронизации и другим устройствам; вопрос о том, какое физическое лицо действовало и с каким умыслом, разрешает суд или иной уполномоченный орган.

    Какие материалы сохранить

    Лучший объект — криминалистическая копия всего носителя или контейнера приложения, полученная документированным способом. Когда это невозможно, основной файл базы собирают одновременно с соседними служебными файлами. Для каждого объекта фиксируют исходный путь и устройство, средство получения и его версию, дату, время и часовой пояс, размер и SHA-256 завершённой мастер-копии. Мастер-копию сохраняют неизменной, исследование ведут на рабочей копии; после каждой передачи повторно проверяют SHA-256 и записывают отправителя, получателя, время и носитель.

    В комплект обычно включают:

    • основной файл базы и файлы с суффиксами -wal, -shm, -journal, а также иные временные файлы в каталоге;
    • предыдущие версии, резервные и синхронизированные копии, снимки и экспорт приложения;
    • контейнер приложения, настройки, кэш, журналы, данные учётной записи и файлы конфигурации;
    • версия приложения, ОС и устройства, установочный пакет, библиотеки и при наличии исходный код запросов и миграций;
    • ключи или параметры шифрования — отдельно и только через согласованный защищённый канал;
    • описание спорных действий, локальное время, часовой пояс и известные перезапуски, обновления, очистки или синхронизации;
    • техническое задание, модель данных, правила формирования полей и схема переноса.

    Копирование только основного файла базы во время работы программы может дать несогласованный результат. Если сбор с работающей системы неизбежен, способ выбирают с учётом режима журналирования: API оперативного резервного копирования (Online Backup API), VACUUM INTO или согласованный снимок хранилища решают разные задачи и создают производный объект, поэтому действия и их влияние протоколируют.

    Передача копии, в которой есть сведения о людях или охраняемая законом тайна, требует законного основания. По назначенной экспертизе объекты поступают от назначившего органа; вне процесса — от обладателя сведений и в объёме, необходимом для ответа на поставленные вопросы. Обезличивание при этом обсуждают не как уступку, а как способ передать меньше, чем есть. Эксперт не разглашает сведения, ставшие известными ему в связи с исследованием, а рабочие копии удаляет по окончании работы.

    Журнал отката, WAL и SHM

    В режиме журнала отката до изменения основного файла базы в журнал записываются прежние версии страниц активной транзакции. Для восстановления после незавершённой транзакции важен именно «горячий» журнал, признаки которого проверяют по правилам SQLite. После фиксации, отката или восстановления файл в зависимости от режима может быть удалён, усечён, обнулён либо остаться как неактивный постоянный журнал; само наличие файла не означает сохранность истории операций.

    В режиме WAL новые версии страниц добавляются в -wal, а основной файл базы обновляется при выполнении контрольной точки. Кадры WAL содержат номера страниц, признаки фиксации и контрольные суммы; корректная последовательность позволяет построить состояния на подтверждённых границах транзакций. WAL — циклически используемый рабочий файл, а не бессрочная история. Отделение WAL от базы или открытие базы без него может привести к потере уже подтверждённых изменений либо к повреждению.

    Файл -shm содержит индекс WAL (wal-index) для координации доступа и обычно может быть построен заново из WAL, однако при изъятии его сохраняют вместе с комплектом как часть исходного состояния. Нельзя просто объединять страницы или считать любой кадр последним значением: проверяются заголовки, служебные значения salt, контрольная сумма, граница подтверждённой транзакции, размер страницы и принадлежность именно этой базе.

    Удалённые данные и границы восстановления

    Следы могут находиться в списке свободных страниц (freelist), незанятых областях и страницах переполнения, WAL, журнале отката, старой копии или образе носителя. Результат зависит от повторного использования страниц, auto_vacuum, VACUUM, secure_delete, последующей записи, контрольной точки и поведения приложения. Удаление логической строки не гарантирует ни немедленного физического стирания, ни обязательной сохранности.

    Команда .recover и API восстановления предназначены для извлечения доступного содержимого из повреждённой базы. Официальная документация предупреждает: восстановленные данные могут быть неполными или изменёнными, нарушать ограничения, а ранее удалённые значения — появиться снова. Поэтому извлечение выполняют в отдельный новый файл, сохраняют исходник и маркируют происхождение каждой группы данных. Такой результат нельзя без проверки выдавать за точную прежнюю базу. Если спор целиком о том, что и когда изменилось в записях, его разбирает экспертиза изменений и удаления данных.

    Целостность и причины повреждения

    PRAGMA integrity_check проверяет формат страниц, структуру B-tree, список свободных страниц, индексы и ряд внутренних согласований. quick_check выполняет более быстрый и менее полный вариант, а внешние ключи проверяются отдельно через foreign_key_check. Успешный результат не подтверждает смысловую правильность записей, полноту истории или соответствие бизнес-правилам приложения.

    Повреждение возможно из-за некорректного копирования открытой базы, удаления либо перемещения WAL, дефектов хранилища, нарушения блокировок на сетевой файловой системе, одновременной работы несовместимых процессов, переименования файлов, восстановления несогласованных компонентов или ошибок вне SQLite. Для SQLite 3.7.0–3.51.2 как редкую версионную гипотезу учитывают также ошибку самой библиотеки: при сбросе журнала упреждающей записи часть подтверждённых изменений могла теряться. Она исправлена в версии 3.51.3 и в отдельных обратных переносах исправления. Чтобы различить причины, сопоставляют сообщения приложения и ОС, файловые события, режим журналирования, точную версию библиотеки и воспроизводимые тесты на копии.

    Как проверить миграцию SQLite

    SQLite использует динамическую типизацию и type affinity (сродство типов), поэтому совпадения DDL или количества строк недостаточно. Проверяют фактические классы хранения значений, ключи и rowid, таблицы WITHOUT ROWID и STRICT, ограничения, значения по умолчанию, вычисляемые столбцы, правила сортировки, триггеры, представления, индексы и миграции приложения.

    Особое внимание уделяют представлению дат и времени, часовым поясам, логическим и десятичным значениям, JSON и BLOB, нормализации текста, NULL, кодировке и преобразованию идентификаторов. Сверка указывает контрольный момент, запросы, правила канонизации, отклонённые строки и изменения после среза. Поведение приложения проверяют отдельно: часть ограничений и каскадов могла обеспечиваться кодом либо зависеть от PRAGMA foreign_keys. Когда предметом спора становится сам перенос, а не устройство базы, задачу закрывает экспертиза миграции баз данных.

    Примеры вопросов на экспертизу

    При судебной экспертизе окончательный круг вопросов определяет суд, а в иных предусмотренных законом процедурах — орган или лицо, назначившие экспертизу. Вопросы о виновности, умысле, правовой квалификации события, нарушении договора и ответственности разрешает суд или иной уполномоченный орган. Эксперт отвечает на поставленные вопросы в пределах специальных знаний и представленных материалов; о неясности вопроса, выходе за пределы компетенции или недостаточности материалов он в установленном порядке сообщает суду, органу или лицу, назначившим экспертизу.

    До назначения стороны могут использовать приведённые ниже формулировки как предложения о технических вопросах. Для SQLite полезно указать приложение и его версию, комплект файлов, таблицу или сущность, период, часовой пояс и проверяемый технический признак. Например, можно предложить исследовать, отражают ли основной файл базы, WAL и журналы приложения удаление записи X и какие временные значения связаны с событием, либо сохранились ли фрагменты ранее удалённых записей таблицы Y. Дополнительные примеры:

    1. Является ли представленный файл базой SQLite и каковы его основные параметры?
    2. Какие таблицы и записи читаются в согласованном состоянии основного файла базы и WAL?
    3. Какие кадры подтверждённых транзакций содержит согласованный WAL, какую границу состояния они позволяют воспроизвести и какие изменения ещё не отражены в основном файле базы?
    4. Чем различаются представленные версии базы на указанные моменты?
    5. Имеются ли структурные нарушения и как они влияют на чтение конкретных данных?
    6. Сохранились ли фрагменты ранее удалённых записей и с какой уверенностью они интерпретируются?
    7. Что означают конкретные поля времени и идентификаторы с учётом логики приложения?
    8. Соответствует ли структура базы указанным требованиям или версии программы?
    9. Полностью ли перенесены перечисленные сущности в целевую систему?
    10. Какие ограничения материалов препятствуют определённому ответу?

    Порядок исследования и результат

    Исходный комплект сохраняют как мастер-копию, проверяют SHA-256 и исследуют рабочие копии. Специалист идентифицирует формат и приложение, разбирает схему и страницы, сопоставляет основной файл базы с WAL, выполняет документированные запросы, проверяет целостность, сравнивает версии и испытывает альтернативные объяснения. Изменяющие команды восстановления выполняются только на отдельной рабочей копии.

    Результатом может быть консультация, внесудебное исследование, заключение специалиста, судебная экспертиза или рецензия. Ориентир по стоимости — от 100 000 ₽, срок — от 10 рабочих дней; расчёт зависит от числа файлов и приложений, объёма, повреждения, шифрования, восстановления, периода и вопросов. Процессуальный статус задаёт документ о назначении, а доказательственное значение определяет суд. Если судебная экспертиза уже назначена, назначенный по делу эксперт не принимает от одной стороны напрямую дополнительные файлы приложения, образы носителей и выгрузки и не даёт ей частную оценку по существу поручения: вопросы, доступ и новые материалы идут через назначивший орган. Это не исключает обращения стороны к другому, не назначенному по делу специалисту — за консультацией или рецензией по законно полученным материалам. Готовое чужое заключение проверяет рецензия на заключение экспертизы баз данных и СУБД.

    Проведение экспертизы по уголовному делу

    Судебная экспертиза по уголовному делу производится государственными судебными экспертами и иными экспертами из числа лиц, обладающих специальными знаниями.

    Негосударственными судебно-экспертными учреждениями постановление Пленума Верховного Суда Российской Федерации от 21 декабря 2010 г. № 28 «О судебной экспертизе по уголовным делам» признаёт некоммерческие организации, созданные в соответствии с Гражданским кодексом Российской Федерации и Федеральным законом «О некоммерческих организациях» и осуществляющие судебно-экспертную деятельность в соответствии с принятыми ими уставами.

    По сведениям организации, проведение судебных экспертиз предусмотрено её уставом (см. действующую редакцию в разделе «Документы организации»). Это само по себе не означает автоматического поручения любой экспертизы. Возможность поручить конкретное исследование определяет назначающий орган с учётом предмета дела, квалификации эксперта, оснований для отвода и действующего перечня экспертиз, выполняемых только государственными судебно-экспертными организациями.

    Актуализировано
    Форматы работы

    Стоимость и сроки

    Указан предварительный ориентир. Точный расчёт зависит от вопросов, объёма материалов, количества объектов и необходимости выезда. Начало отсчёта фиксируем после проверки необходимого комплекта.

    По договору

    Внесудебное исследование

    от 100 000 ₽
    от 10 рабочих дней
    точная стоимость будет определена после ознакомления с объектом исследования

    Итог — внесудебное исследование или документ специалиста по договору. Его наименование, представление и доказательственное значение зависят от вида процесса и оцениваются судом.

    Заказать исследование
    Проверка готового заключения

    Рецензирование

    от 50 000 ₽
    10 рабочих дней
    точная стоимость будет определена после ознакомления с заключением и приложениями

    Итог — письменная рецензия на готовое заключение. Она проверяет исходные данные, методы и выводы, но не отменяет заключение и не заменяет новое исследование объекта.

    Передать заключение на проверку
    Письменный ответ эксперта

    Консультация и справка

    от 20 000 ₽
    2-3 рабочих дня
    точная стоимость будет определена после ознакомления с объектом исследования

    Поможет предварительно оценить вопрос, определить перспективу исследования и подготовить дальнейшие действия.

    Описать вопрос
    Разбор задачи — без оплаты

    Проверим вид исследования, комплектность материалов и возможность работы. Если по присланным материалам видно, что ответить нельзя, скажем сразу и работу не возьмём. Когда материалы структурированы, предварительный прогноз тоже бесплатный; если разбор требует долгой работы эксперта, предупредим об этом до начала — тогда это платная консультация.

    Получить предварительную оценку
    Организация исследования

    Как строится работа над экспертизой

    До начала исследования уточним предмет задачи, состав материалов и формат итогового документа.

    1. 01 Предварительный разбор

      Проверяем компетенцию и сообщаем, можно ли провести исследование по поставленной задаче.

    2. 02 Вопросы и материалы

      Уточняем вопросы и сообщаем, каких документов или объектов не хватает.

    3. 03 Экспертное исследование

      Эксперт применяет профильные методики, фиксирует ход работы и обосновывает выводы.

    4. 04 Заключение и пояснения

      Передаём результат и при необходимости разъясняем суду применённую методику и выводы.

    Выполненные исследования

    Практика по этому направлению

    Краткие описания задач с указанием суда и ссылкой на опубликованные материалы дела. Формулировки взяты из карточек дел и воспроизводят вопросы, поставленные назначившим органом: они показывают, что исследовалось, а не то, какие вопросы можно поручить эксперту. Виновность, принадлежность прав и обоснованность требований разрешает суд.

    Все примеры по направлению
    Опубликованный пример
    Завершена в ноябре 2016 года

    Экспертиза №26650

    Судебная комплексная оценочная и компьютерно-техническая экспертиза проводилась по определению Арбитражного суда Краснодарского края с целью оценки фактического объема и качества услуг по разработке и ведению контекстных рекламных кампаний в системах Яндекс.Директ и Google AdWords.

    Арбитражный суд Краснодарского краяДело №А32-15104/2016
    Участники: , ООО "ВКБ-Новостройки"

    Аннотация

    Судебная комплексная оценочная и компьютерно-техническая экспертиза проводилась по определению Арбитражного суда Краснодарского края с целью оценки фактического объема и качества услуг по разработке и ведению контекстных рекламных кампаний в системах Яндекс.Директ и Google AdWords. В рамках исследования экспертами были проанализированы данные соответствующих рекламных аккаунтов, включая статистику показов, кликов, показатель CTR, фактические расходы, а также использованные ключевые запросы и списки минус-слов. Работа включала авторизацию в рекламных платформах, выгрузку и анализ данных с использованием специализированного программного обеспечения, а также изучение настроек таргетинга и интеграции с системами веб-аналитики. Эксперты стремились определить соответствие выполненных работ условиям договора и оценить их эффективность, учитывая динамику изменяющихся показателей.

    Открыть описание
    В открытом доступе представлена часть выполненных исследований по разным объектам и судебным делам. Сведения, защищённые законом или условиями конфиденциальности, не раскрываются. Чтобы проверить возможность исследования по вашей ситуации, опишите задачу.

    Документы организации

    Ответы специалистов

    Частые вопросы

    Практические пояснения о назначении, материалах и использовании экспертного заключения.

    Все вопросы по направлению
    Когда нужна экспертиза SQLite?

    Экспертиза SQLite нужна, когда спор зависит от локальных данных мобильного, настольного или встроенного приложения, структуры файла, WAL, журнала отката, целостности или нескольких версий базы. Она помогает исследовать подтверждаемые записи, различия между снимками, повреждение, доступные следы удаления, работу миграций и соответствие базы измеримым требованиям.

    SQLite — библиотека без обязательного серверного аудита, поэтому смысл таблиц и полей задаёт программа. Если достаточно прочитать обычный экспорт, глубокое исследование формата может не понадобиться. Профильная экспертиза оправдана, когда важны служебные файлы, история страниц, повреждение, приложение и воспроизводимая оценка границ восстановления. Объект всегда идентифицируют вместе с версией программы и контекстом получения. Порядок работы, состав материалов и сроки собраны на странице экспертизы SQLite.

    Отдельная страница: Когда нужна экспертиза SQLite?
    Можно ли заранее оценить перспективу экспертизы SQLite?

    Предварительно можно определить, является ли файл базой SQLite, есть ли рядом WAL, SHM или журнал отката, охватывают ли копии нужный период и потребуется ли исследование приложения или устройства. Для оценки достаточно описания события, списка файлов с путями и размерами, версии приложения, ОС и указания, открывалась ли база после спорного действия.

    Наличие свободных областей или WAL ещё не означает, что нужная запись сохранилась и может быть однозначно собрана. После контрольной точки, VACUUM, secure_delete или перезаписи следы могут отсутствовать. Предварительная оценка показывает, какие версии ещё можно проверить и где искать резервные, облачные или системные копии. Если единственный файл уже открывали, специалист отдельно учитывает, как это могло изменить его содержимое.

    Отдельная страница: Можно ли заранее оценить перспективу экспертизы SQLite?
    Какие материалы нужны для экспертизы SQLite?

    Нужно сохранить основную базу одновременно с файлами того же имени и суффиксами -wal, -shm и -journal. Предпочтителен образ носителя или полный контейнер приложения, включая настройки, кэш, логи и резервные копии. Полезны версия программы и ОС, установочный пакет, миграционные скрипты, описание таблиц и точный спорный период.

    Для каждого файла фиксируют источник — исходный путь и устройство или учётную запись, средство копирования и его версию, дату, время и часовой пояс, размер и SHA-256 завершённой мастер-копии. Мастер-копию сохраняют неизменной, исследование ведут на рабочей копии; после каждой передачи повторно проверяют SHA-256 и записывают отправителя, получателя, время и носитель. Не запускайте приложение и не открывайте единственную базу обычным редактором: это может выполнить контрольную точку или изменить служебные данные. Ключи шифрования и пароли передают отдельно только после согласования защищённого канала.

    Отдельная страница: Какие материалы нужны для экспертизы SQLite?
    От чего зависят стоимость и срок экспертизы SQLite?

    Стоимость и срок определяют число файлов, приложений и устройств, объём, наличие WAL и журналов, степень повреждения, шифрование, количество версий и глубина восстановления. Трудоёмкость возрастает, если нужно исследовать образ носителя, реконструировать схему повреждённой базы, сопоставлять приложение и облачную синхронизацию либо проверять сложную миграцию.

    После первичного перечня материалов специалист предлагает минимальный достаточный объём и оценивает стенд. Ориентиры направления: стоимость от 100 000 ₽, срок от 10 рабочих дней. Это не универсальная цена: проверка одной читаемой таблицы и анализ нескольких несогласованных копий с WAL требуют разной работы. Срочность оценивают с учётом сохранности источников и необходимости сначала получить криминалистическую копию устройства. Общие для всех платформ правила — на странице экспертизы баз данных и СУБД.

    Отдельная страница: От чего зависят стоимость и срок экспертизы SQLite?
    Можно ли восстановить удалённые записи SQLite?

    После удаления фрагменты могут остаться в списке свободных страниц (freelist), незанятых областях и страницах переполнения, WAL, журнале отката, старых копиях или образе носителя. Сохранность зависит от последующей записи, повторного использования страниц, контрольной точки, VACUUM, auto_vacuum, secure_delete и поведения приложения. Поэтому ни само удаление, ни наличие файла не гарантируют результат.

    .recover и API восстановления помогают извлекать доступное содержимое повреждённой базы, но результат может быть неполным, нарушать ограничения или включать ранее удалённые значения. Восстановление выполняют в новый файл, сохраняя мастер-копию, и отдельно маркируют активные данные и кандидаты. По одной текущей копии нельзя заранее определить, какие удалённые сведения сохранились; вывод формулируют только для конкретных полей и источников. Когда спор целиком о том, что и когда изменилось в записях, его разбирает экспертиза изменений и удаления данных.

    Отдельная страница: Можно ли восстановить удалённые записи SQLite?
    Почему для экспертизы SQLite нужны файлы WAL и SHM?

    В режиме WAL новые версии страниц сначала добавляются в файл -wal, а основной файл базы обновляется при выполнении контрольной точки. WAL может содержать кадры подтверждённых транзакций, необходимые для воспроизведения состояния на последней подтверждённой границе, хотя соответствующие изменения ещё не отражены в основном файле. Кадры проверяют по заголовкам, служебным значениям salt, контрольной сумме, номеру страницы и границе подтверждённой транзакции; WAL — рабочий циклический журнал, а не бессрочная история операций.

    -shm обычно содержит индекс WAL (wal-index) для координации читателей и писателя и может перестраиваться, но при изъятии его сохраняют как часть исходного комплекта. Отделение WAL от работающей базы или её открытие без соседних файлов может привести к потере подтверждённых данных либо изменить состояние. Журнал отката относится к другому режиму: во время транзакции он содержит прежние версии изменяемых страниц, а после завершения может быть удалён, усечён, обнулён, переиспользован или сохраниться как неактивный остаток. Признаки «горячего» журнала проверяют отдельно.

    Отдельная страница: Почему для экспертизы SQLite нужны файлы WAL и SHM?
    Можно ли по SQLite установить автора и время изменения?

    SQLite не содержит обязательной системы пользователей и универсального аудита каждой операции. Можно исследовать прикладные идентификаторы, поля времени, записи WAL, последовательность состояний и контекст файла, но сами по себе они обычно не называют физического исполнителя. Файловые метки времени могут измениться из-за контрольной точки, копирования, резервного сохранения или синхронизации.

    Для атрибуции данные базы сопоставляют с журналами и кодом приложения, авторизацией, учётной записью устройства, событиями ОС, сетью и облачными сервисами. Сначала выясняют, кем и когда формируется каждое поле и в каком часовом поясе. Технический вывод может связать действие с профилем, устройством или сеансом при достаточной совокупности следов; вопрос об авторстве человека и намерении оценивается с учётом остальных доказательств.

    Отдельная страница: Можно ли по SQLite установить автора и время изменения?
    Что показывает PRAGMA integrity_check в SQLite?

    PRAGMA integrity_check проверяет формат страниц, структуру B-tree, список свободных страниц, соответствие индексов таблицам и ряд внутренних согласований. quick_check пропускает часть проверок индексов и выполняется быстрее. Нарушения внешних ключей проверяются отдельно через foreign_key_check, если их смысл применим к схеме и данным.

    Ответ ok не доказывает правильность бизнес-значений, отсутствие удаления, полноту истории или подлинность файла. Команду запускают на рабочей копии совместимой версией SQLite и фиксируют параметры. При повреждении мастер-копию сохраняют до восстановления: исправление или импорт способны изменить размещение страниц и уничтожить следы. Результат интерпретируют вместе со схемой, WAL, приложением и обстоятельствами копирования.

    Отдельная страница: Что показывает PRAGMA integrity_check в SQLite?
    Какие вопросы ставят эксперту по SQLite?

    Вопрос должен называть приложение и версию, конкретный файл или комплект, таблицу или сущность, период, часовой пояс и измеримый критерий. Например: «Какие кадры подтверждённых транзакций содержит согласованный WAL, какую границу состояния они позволяют воспроизвести и какие изменения ещё не отражены в основном файле базы?» Также можно спросить, чем различаются две копии, имеются ли структурные нарушения, сохранились ли определённые фрагменты и полностью ли перенесены перечисленные данные.

    Вместо «кто и когда удалил всё» корректнее спросить, отражают ли представленные источники удаление записи X, какие технические идентификаторы и временные значения с ним связаны и каковы ограничения атрибуции. Эксперт не решает вопросы умысла, виновности и правовой оценки. До назначения полезно согласовать формулировки, чтобы отличить активные данные от восстановленных кандидатов и учесть реальную сохранность WAL и приложения.

    Отдельная страница: Какие вопросы ставят эксперту по SQLite?
    Как проверить полноту миграции SQLite?

    При миграции SQLite сравнивают не только строки, но и фактические классы хранения, type affinity (сродство типов), первичные ключи и rowid, ограничения, значения по умолчанию, вычисляемые столбцы, правила сортировки, индексы, триггеры и представления. Учитывают таблицы WITHOUT ROWID и STRICT, а также зависимость внешних ключей от настройки PRAGMA foreign_keys.

    Отдельно проверяют даты и часовые пояса, десятичные и логические значения, JSON и BLOB, кодировку, NULL, нормализацию текста, преобразование идентификаторов и отклонённые строки. Сверка должна фиксировать версии, контрольный момент, карту соответствия, запросы и правила канонизации. Равное количество записей не подтверждает, что целевая система воспроизводит значимое поведение приложения и все ограничения исходной базы. Если перенос и есть предмет спора, задачу закрывает экспертиза миграции баз данных.

    Отдельная страница: Как проверить полноту миграции SQLite?
    Можно ли использовать заключение по базе SQLite в суде?

    Судебное заключение готовят после назначения экспертизы уполномоченным субъектом — в пределах поставленных вопросов и переданных объектов. Внесудебное исследование сторона представляет сама, и судебной экспертизой оно не становится.

    Для SQLite решающим часто оказывается происхождение файла. Суд оценивает, откуда взята копия, как она получена и сохранён ли комплект целиком: основной файл вместе с журналом упреждающей записи, файлом общей памяти и журналом отката. Файл, вынутый из устройства без описания порядка изъятия, вызывает вопросы раньше, чем содержательные выводы.

    До заказа сообщите вид процесса, стадию и ближайшую дату, а также кому принадлежит устройство: от этого зависит, получают копию сами стороны или её истребуют через суд.

    Отдельная страница: Можно ли использовать заключение по базе SQLite в суде?
    Чем экспертиза SQLite отличается от работы разработчика приложения?

    Разработчик знает своё приложение и может достать из файла нужные записи быстрее любого постороннего. Но он работает с рабочей копией, часто открывает базу самим приложением и не описывает, что изменилось от его действий.

    Экспертиза устроена иначе: файл фиксируют в комплекте со служебными файлами, считают контрольные суммы, исследуют копию и записывают каждый шаг. Отдельно проверяют, не подменялись ли значения приложением и можно ли доверять временным отметкам, которые задаёт программа, а не сама база.

    Поэтому объяснение разработчика берут как источник сведений о структуре, а выводы делают по исследованию, результат которого можно повторить и проверить.

    Отдельная страница: Чем экспертиза SQLite отличается от работы разработчика приложения?
    Можно ли исследовать файл SQLite, пока приложением продолжают пользоваться?

    Можно, но результат будет описывать состояние на момент копирования, а не текущее. Пока приложение работает, оно дописывает журнал упреждающей записи, выполняет контрольные точки и переиспользует освободившиеся страницы — то есть постепенно затирает следы удалённых записей.

    Сначала проверяют полномочия и согласуют допустимые действия с владельцем устройства или с назначившим экспертизу органом; если устройство принадлежит другой стороне, копию получают через суд. Копию снимают комплектом: основной файл вместе со служебными файлами того же имени. Отделять их нельзя, иначе часть подтверждённых изменений останется за пределами копии. Приложение для этого не запускают: открытие базы способно выполнить контрольную точку и удалить временные файлы. Снятая при работающей программе копия всё равно может оказаться несогласованной, и это оговаривают.

    Если спор о конкретных записях, чем раньше снята копия, тем больше шансов их увидеть. Дальнейшую работу — запросы, проверку целостности, восстановление — ведут на копии.

    Отдельная страница: Можно ли исследовать файл SQLite, пока приложением продолжают пользоваться?
    Обращение в организацию

    Отправьте материалы на предварительную оценку

    Приложите имеющиеся документы и кратко опишите задачу. Мы проверим компетенцию и комплектность, определим специальность эксперта и сообщим возможные срок и стоимость.

    Отправить материалы