アプリや業務システムの .db / .sqlite が壊れて開けなくなった——そこから、救えるだけのデータを取り出してお返しします。
■ こんな状態です
・「database disk image is malformed」と出て開けない
・「file is not a database」と出る/ソフトが起動しなくなった
・コピーやバックアップが途中で止まって、ファイルが途中までしかない
■ 先に正直に書きます
これは「救えるだけ救う」仕事です。壊れて消えたバイトは戻りません。何行戻るかは壊れ方で変わります。当方の検証では450行のDBを8通りに壊し、戻ったのは32%のときも100%のときもありました。あなたのファイルは、見てみるまで分かりません。
だから「〇%救出できます」とは言いません。代わりに次を守ります。
・読めた断片を整形して「復旧しました」と混ぜません(検証8通りすべてで、元に無い行の混入0件)。
・長い文章を含む行は、本文だけ失われて空で出ることがあります。「要確認」として列挙します。元から空か失われたかは判定できないので、断定も沈黙もしません。
・どの表のものか特定できないデータも、捨てず別ファイルで残します。
・お預かりしたファイルは1バイトも書き換えません(作業は複製に対して行います)。
■ 何をするか
段階的に手を変えます。通常の読み取り→専用の救出モード→ヘッダ再構築→別方式のダンプ→表に紐づかない断片の割り当て。
■ 納品物
・復旧済み.db(救えたデータで作り直したもの)
・表ごとのCSV(Excelでそのまま開けます)
・どの表か不明なデータ(特定できなかった分。捨てません)
・復旧レポート(何を試し、どの手が効き、何行取り出せたか)
表示価格が総額です。後から費用を追加しません。
■ 基本料金の範囲
1ファイル・1GBまで。救出とCSV書き出し、作業レポート。
■ 対象外
暗号化されたDB(SQLCipher等)、SQLite以外のDB(MySQL・PostgreSQL等)、壊れた原因となったアプリ自体の修理。ご本人が正当に扱えるデータに限ります。
まずは出ているエラーと、ファイルサイズをお知らせください。購入前に救出の見込みをお伝えします。
【お預かりするデータの取扱いについて】
■ 受領方法: データベースファイル(.db / .sqlite など)の共有。付属の -wal / -shm があれば一緒に
■ 利用目的: ご依頼いただいた救出作業のみに使用します
■ 個人情報: 業務データを扱う性質上、中身を読む必要があります。目的外には使用しません。作業中に不要な個人情報を見つけた場合はお知らせします
■ 保存期間: 納品完了から30日後に、お預かりした一式を当方環境から削除します(即時削除のご希望も承ります)
■ 第三者提供: ご依頼者の同意なく、データ・相談内容・依頼の事実を第三者に共有しません
■ 前提: ご依頼者ご本人が正当に扱えるデータに限ります
■ 対象外: 暗号化されたDB、SQLite以外のDB、壊れた原因のアプリ自体の修理
■ 結果について: これはベストエフォートの作業です。救出できる行数・割合は事前にお約束できません。「1行も救出できなかった」という結果もあり得ます。その場合は、試した手順をすべて示したうえでご報告します