문제 발생 경위
SQL Server 서비스는 오래된 문제를 안고 있는 컴포넌트로, 권한 설정 과정에서 오류가 발생하여 정상적으로 동작하지 않게 되었습니다. 구체적인 오류 메시지는 기억나지 않지만, 이후 Navicat 설치 시도 중 해당 툴도 비정상 종료되는 문제가 발생했고, 결국 SQL Server 서비스 복구 작업을 진행하게 되었습니다.
완전 제거 절차
재설치 전 기존 설치본을 완전히 제거하는 것이 중요합니다. 그렇지 않으면 시스템 재시작 불가 등의 문제가 발생할 수 있습니다.
전용 제거 도구 활용
Windows Installer Clean Up 유틸리티를 사용하면 Microsoft 제품군의 Windows Installer 구성 정보를 손쉽게 삭제할 수 있습니다.
https://pc.qq.com/detail/16/detail_6516.html
이 도구를 통해 SQL 관련 항목을 제거하되, 제어판의 프로그램 추가/제거 기능도 병행하여 사용하는 것을 권장합니다. 만약 응용 프로그램이 사용 중인 상태로 표시된다면, Ctrl+Shift+Esc 키 조합으로 작업 관리자를 실행하고 'sql' 키워드가 포함된 모든 프로세스를 종료해야 합니다.
레지스트리 정리
레지스트리 편집기를 통해 남아있는 설정 정보를 제거합니다. 이 과정은 신중하게 진행해야 합니다.
Win+R 조합 후 regedit 입력하여 레지스트리 편집기 실행
1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager 경로에서
우측의 "PendingFileRenameOperations" 항목 삭제
2. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SQL Server 전체 삭제
3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft 하위에 존재하는
Microsoft SQL Server 관련 모든 서브키 제거
4. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer 항목 삭제
발생 가능한 오류 및 해결 방법
정상적으로 설치가 완료되었다면 문제가 없겠지만, 다음과 같은 오류가 발생할 수 있습니다:
"Could not open key: UNKNOWNComponents" - 이는 권한 부족으로 인한 오류로, 이전에 SQL Server가 설치된 적이 있는 시스템에서 흔히 발생합니다.
권한 상승을 통한 해결
레지스트리 편집기에서 다음 경로로 이동합니다:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components
가장 간단한 해결 방법은 관리자 권한으로 명령 프롬프트를 실행하여 아래 명령어를 입력하는 것입니다:
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
하지만 대부분의 경우 위 방법으로는 해결되지 않으며, 수동으로 권한을 조정해야 합니다. 문제는 Components 폴더 자체의 권한 변경이 어렵기 때문에 하위 항목들을 개별적으로 수정해야 할 가능성이 높습니다.
고급 권한 조정 도구
PSTools와 같은 전문 도구를 활용하면 상위 레지스트리 키의 권한을 강제로 변경할 수 있습니다. 사용법은 별도 검색을 통해 확인하시기 바랍니다.
이상적인 경우 단일 항목 수정으로 해결되지만, 그렇지 않은 경우 모든 하위 컴포넌트의 권한을 일일이 조정해야 하며, 이 과정은 30분에서 90분 정도 소요될 수 있습니다. 설치 실패 시마다 위의 전체 절차를 반복해야 한다는 점에 유의하세요.