2013-01-16 2 views
1

그래서 testdisk를 사용하여 포맷 된 디스크에서 sqlite 데이터베이스를 가져 왔습니다. 나는 파일을 가지고 있지만 그 중간에 이상한 것들이 잔뜩 있는데, 그것은 어떤 로그로부터 어떤 로그처럼 보였다. 요점은 그것이 심각하게 손상되었다는 것입니다.디스크 데이터 복구에서 검색된 손상된 sqlite 데이터베이스 복구

나는 파일의

이전 버전이 다른 파일에 이상한 물건을 가지고 모든 데이터를 포함 ....하지만 SQLite는 파일의 이전 버전을해야합니까. 손상되지 않은 파일이 정상적으로 표시되지 않는 손상된 파일이있는 최신 항목입니다.

다양한 echo .dump 방법과 그 모든 것을 사용하여 손상된 파일을 복구하려고했지만 빈 파일이 있습니다.

Baxters-MacBook-Pro:desktop bax$ sqlite3 corrupted.sqlite3 
SQLite version 3.7.13 2012-06-11 02:05:22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> pragma integrity_check; 
Error: database disk image is malformed 

덤핑

저를 제공합니다
PRAGMA foreign_keys=OFF; 
BEGIN TRANSACTION; 
/****** CORRUPTION ERROR *******/ 
/****** database disk image is malformed ******/ 
/****** ERROR: database disk image is malformed ******/ 
/****** CORRUPTION ERROR *******/ 
/****** database disk image is malformed ******/ 
/****** ERROR: database disk image is malformed ******/ 
/**** ERROR: (11) database disk image is malformed *****/ 
ROLLBACK; -- due to errors 

내가 HEX에 dumbly 그들에 합류했습니다. 손상된 파일의 겹쳐진 정보를 통해 오래된 (손상되지 않은 데이터베이스가 아닌) 내용을 붙여 넣었습니다. 즉, 손상되지 않은 파일의 마지막 데이터 비트는 시간 소인 15:15:14.419734 (데이터베이스는 이전 레일 응용 프로그램의 것임)이었습니다. 손상된 파일에서 해당 파일을 발견하고 손상되지 않은 파일 16 진수를 손상된 파일의 모든 지점에 붙여 넣었습니다. 이제 열리지 만, 놀랍지 만 손상되지 않은 파일 (160 개 항목 중 122 개 정도)의 데이터 만 가져올 수 있습니다.

어디 두 사람은 다음과 같습니다 가입 :

15:15:14.419734√Ö√£) �√ÖYAA{1B, 8B 

1B, 8B이 항목의 시작입니다. 진수에서

: 날이 두 데이터베이스를 가입하거나, 내가 뼈하니

31353A 31353A31 342E3431 39373334 C3851FC3 A3290900 
01C38501 59014141 7B31422C 203842 

어떤 방법이 있습니까?

답변

0

SQLite 파일에서 테이블 데이터는 b-trees에 저장됩니다. 조인 한 파일에 상위 트리 수준의 올바른 포인터가 들어 있지 않은 것일 수 있습니다.

자주 제기되는 질문 (FAQ) says : 데이터베이스가 손상되는 방법을 심하게 따라

, 당신은 파일의 스키마와 내용을 덤프하고 다시 CLI를 사용하여 데이터의 일부를 복구 할 수 있습니다. 불행히도, 험비 덤벼프가 벽에서 떨어지면, 일반적으로 그를 다시 모으는 것은 불가능합니다.

은 그러나 당신도

  • file format documentation를 읽고 손으로 또는 일부 임시 도구를 사용하여 파일에서 posssible만큼 데이터를 추출을 시도 할 수 있습니다; 또는
  • somebody을 지불하십시오.
+0

답장을 보내 주셔서 감사합니다. 이전에 파일 형식 문서를 살펴본 결과, 헤드 나 꼬리를 만들 수 없었습니다 (16 진수 편집 경험 없음). 데이터를 기억하는 것이 훨씬 저렴할 것 같습니다. 그래서 그것이 내가 할 일입니다. –

관련 문제