2017-12-24 9 views
1

저는 최근에 서버가 종료 될 때 SQLite를 사용하는 여러 응용 프로그램에서 손상 문제가 발생하는 문제에 직면 해 있습니다. 하드웨어 문제가 아니라는 점을 알고, 나는이 문제의 근원을 밝히고 싶다.SQLite에서 pragma 무결성 검사를위한 자세한 옵션이 있습니까?

손상으로부터 SQLite 데이터베이스 중 하나의 스냅 샷을 찍어서 뭔가를 배울 수 있기를 바랍니다.

데이터베이스에서 pragma_integrity 검사를 실행했는데 "오류 : 데이터베이스 디스크 이미지 형식이 잘못되었습니다"라는 결과가 반환되었습니다. 응용 프로그램 로그에 정확하게 출력되는 내용입니다.

이 검사에 대한 자세한 모드가 있습니까? 나는 SQLite 문서에서 아무것도 볼 수 없었다.

또는 데이터베이스를 분석하는 데 사용할 수있는 다른 방법이 있습니까? 당신이 완료하기 전에 반환 오류의 수를 지정 integrity_check(n)를 사용할 수 있지만

+0

PRAGMA는 중단해서는 안됩니다. 이 버그는 최근에 수정되었습니다. 최신 버전을 사용해보십시오. –

+0

이것은 언제 고정 되었는가 - 나는 페도라 생가 드와 함께 최첨단에 서있다. 내가 SQLite 3.20.1에있어? – dcrdev

+0

[3.21.0] (http://www.sqlite.org/releaselog/3_21_0.html) –

답변

1

integrity_check (기본값은 (n)없이 100 즉이다), quick_check 비교의 자세한 형태이다.

당신은 단 하나의 오류 만 표시되는 것으로 보이므로 integrity_check(n)을 사용하면 차이가 없을 것입니다.

SQLite's - PRAGMA Statements

아마도 이러한 링크는

  • ERROR: SQLite database is malformed – SOLVED
  • Repair SQLite Database via SQLite Data Recovery Tool
    • 사용

      이 될 수는 기본적으로 그들은 SQLite는 도구를 사용하여 데이터베이스를 수출하려고 말한다.

      Google의 경우로드가 더 많습니다. sqlite malformed database.

      관심있는 How To Corrupt An SQLite Database File을 찾을 수도 있습니다.