- 데이터 손실은 일반적인 문제이지만 SQL Server에서 손상된 데이터베이스를 복구하는 방법을 보여 드리겠습니다.
- 이 문제는 바이러스 감염 및 잘못된 구성에 대한 단순한 덮어쓰기 또는 우발적인 파일 삭제로 인해 발생할 수 있습니다.
- 스토리지 드라이브가 오작동하면 파일 손상이 발생할 수 있으며 여기에는 SQL 데이터베이스가 포함됩니다.
물론 명백한 이유로 SQL Server에서 손상된 데이터베이스를 발견하는 것은 실망스럽습니다. 정보에 액세스할 수 없으며 작업이 완전히 중단됩니다.
그러나 수동 솔루션이나 스마트 전용 도구 타사 도구를 사용하여 이 문제를 해결할 수 있는 방법이 많이 있습니다. SQL Server용 복구 도구 상자.
그러나 문제 해결을 시작하기 전에 먼저 이 문제가 발생하는 이유를 조금 이해하고 조사해 보겠습니다.
SQL Server란 무엇이며 어떻게 데이터베이스를 식별할 수 있습니까?
SQL Server는 Microsoft에서 개발한 데이터베이스 시스템으로, 다른 응용 프로그램에서 데이터를 관리, 저장 및 검색하는 데 사용됩니다.
SQL Server에서 데이터를 저장하고 관리하는 파일에는 세 가지 유형이 있습니다. 기본 파일(.MDF 확장자 사용), 보조 파일(.NDF 확장자 사용) 및 로그 파일(.LDF 확장자 사용).
MDF 파일은 데이터베이스 저장소를 제공하는 파일이기 때문에 특히 관심이 많습니다.
SQL Server에서 데이터베이스가 손상되는 이유는 무엇입니까?
단순한 덮어쓰기 또는 우발적인 파일 삭제에서 바이러스 감염 및 잘못된 구성에 이르기까지 SQL 서버 데이터베이스가 손상될 수 있는 많은 이유가 있습니다.
이 문제의 가장 일반적인 원인을 살펴보겠습니다.
- 파일 덮어쓰기 – 실수로 기존 MDF 파일을 덮어쓰면 데이터베이스가 손상될 위험이 있습니다.
- SQL 데이터베이스 잠금 해제 시도 - 만약 너라면 SQL 암호를 잊어 버렸습니다 너무 많이 잘못 입력하면 SQL Server 손상이 발생할 수 있습니다.
- 스토리지 드라이브 오류 – 드라이브 오작동으로 인해 데이터베이스를 포함한 파일 손상이 발생할 수 있음은 말할 나위도 없습니다.
- SQL 데이터베이스 구성 문제 – SQL 구성이 변경되면 MDF 파일에 대한 액세스가 비활성화될 수 있습니다.
- 바이러스 감염 – 이것은 SQL 데이터베이스 파일뿐만 아니라 모든 파일 손상에 대한 일반적인 문제이며 최고의 바이러스 백신을 사용하여 바이러스를 제거하더라도 불행히도 일부 데이터가 손실될 수 있습니다.
- SQL 내부 버그 – 강력한 솔루션이지만 여전히 MDF 파일 손상을 일으킬 수 있는 버그가 있을 수 있습니다.
즉, 단계별 가이드를 따라 SQL Server에서 SQL 데이터베이스 파일을 복구하는 방법을 배우십시오.
SQL Server에서 손상된 데이터베이스를 어떻게 복구할 수 있습니까?
노트
메모: 무엇이든 시작하기 전에 SQL 라이브러리 백업을 수행하십시오.
1. SQL 서버 다시 시작
- 터미널을 열고 다음 명령을 입력하여 SQL Server를 중지합니다.
systemctl mysql 중지
- SQL Server의 상태를 확인하려면 다음 명령을 입력하고 입력하다:
상태 mysql.service
- 이제 터미널에서 다음 명령을 수행하여 SQL Server를 다시 시작합니다.
mysql.service 다시 시작
경우에 따라 SQL Server를 다시 시작하는 것만으로 문제를 해결할 수 있습니다. 물론 매번 하는 건 아니지만 하기 너무 쉬워서 하는 데 지장이 없을 정도다.
2. 손상된 테이블 수리
- SQL 서버를 시작합니다.
- 다음 명령을 입력하고 누르십시오 입력하다 그것을 실행하려면:
CHECK TABLE name_of_the_table;
- 테이블에 문제가 있으면 다음 명령을 입력하고 키를 누릅니다. 입력하다:
수리 테이블 이름_of_the_table;
REPAIR TABLE은 테이블을 복구하는 데 도움이 되며 다른 손상된 테이블에 대해서도 동일한 작업을 수행할 수 있지만 이렇게 하면 테이블에서 일부 데이터가 손실될 수 있습니다.
3. mysqlcheck 명령 사용
- 터미널을 열고 다음 명령을 입력하거나 붙여넣어 데이터베이스 폴더에 도달하고 입력하다:
cd /var/lib/mysql
- 이제 다음 명령을 입력하여 테이블을 테스트하고 입력하다. 교체했는지 확인 그리고 실제 이름:
mysqlcheck
- 테이블이 손상되었다는 메시지가 표시되면 다음 명령을 입력하여 테이블을 복구하고 키를 누릅니다. 입력하다:
mysqlcheck -r
4. ALTER TABLE 명령 사용
- 다음 명령을 입력하여 테이블 유형(이 경우 MyISAM 테이블)을 확인합니다.
테이블 생성 표시
;
- 테이블을 다시 작성하려면 다음 명령을 입력하고 입력하다:
테이블 변경
엔진 = MyISAM;
- InnoDB 데이터베이스가 있는 경우 대신 다음 명령을 입력하십시오.
테이블 변경
엔진 = InnoDB;
- Microsoft SQL Server 2019 다운로드 및 설치
- 최고의 SQL 서버 백업 소프트웨어 [무료 및 유료]
- SQL 서버 데이터베이스를 보호하는 방법
5. SQL Server용 Recovery Toolbox를 사용하여 데이터베이스 복구
- Recovery Toolbox for SQL Server 전용 페이지로 이동 그리고 다운로드 단추.
- 언어 선택 및 라이선스 동의 후 앱을 설치하세요.
- 딸깍 하는 소리 마치다 SQL Server MDF 복구 도구를 시작합니다.
- 손상된 선택 *.mdf 소스 폴더 아이콘을 클릭하여 파일.
- 선택했으면 다음을 클릭하십시오. 다음 단추.
- 이제 손상된 Microsoft SQL Server 데이터베이스에서 검색할 수 있는 데이터를 미리 볼 수 있습니다. Microsoft SQL MDF 복구 도구 창에서 다음을 클릭하여 프로세스를 시작합니다.
- 이제 데이터 내보내기 방법만 선택하면 됩니다. 다음과 같이 저장할 수 있습니다. SQL 스크립트 디스크에 저장하고 데이터베이스에서 직접 SQL 스크립트를 실행할 수도 있습니다.
- 마지막으로 저장할 데이터를 선택하고 클릭하십시오. 복구 시작.
그래서, 이것은 SQL 서버 데이터베이스 파일을 복구하는 방법 이 간단하고 효과적인 도구로. 보시다시피 작업이 훨씬 빨리 완료됩니다.
그만큼 MS SQL 서버 복구 도구 MDF 데이터베이스에 다음과 같은 문제가 있는 경우에도 도움이 됩니다.
- Microsoft SQL 서버 오류 5172 – FILE SIZE 속성이 잘못되었습니다.
- SQL Server에서 논리적 일관성 기반 I/O 오류를 감지했습니다. – SQL Server에서 오류 824라고도 하는 잘못된 체크섬입니다.
- IAM(Index Allocation Map) 페이지는 IAM 페이지의 다음 포인터가 가리킵니다. - 꽤 흔한 문제다
- FileName.mdf 파일의 오프셋 0x######에서 읽을 때 I/O 오류, 잘못된 페이지 ID가 감지되었습니다. – 이것은 자주 나타나지 않지만 여전히 이 작은 도구로 수리할 수 있습니다.
- 운영 체제 오류로 인해 파일이 잘린 것 같습니다. – 대부분 구성 문제로 인해 발생
- 로그 레코드 ID에서 오류가 발생했습니다. – 데이터베이스에 기록된 작업을 다시 수행하는 동안 발생합니다.
실제로 SQL Server용 Recovery Toolbox를 사용하면 데이터 유형, 테이블을 포함하여 손상된 .mdf 파일의 모든 개체를 복구할 수 있습니다. 셀 데이터, 보기, 저장 프로시저, 사용자 정의 함수, 트리거, 색인, 기본 및 외래 키, 제한 및 다른 사람.
그리고 가장 큰 장점은 복구된 데이터를 앱에서 원활하게 Microsoft SQL Server로 직접 내보낼 수 있다는 것입니다.
이거 야! 이제 수동으로 또는 전용 도구를 사용하여 SQL Server 데이터베이스를 복구하는 방법을 알게 되었습니다.
추가 방법을 알고 있거나 질문이 있는 경우 아래 의견 섹션에서 기다립니다.