Ms-Sql 설치오류시 SQL Server를 수동으로 제거 하는 방법Ms-Sql 설치오류시 SQL Server를 수동으로 제거 하는 방법
MS-SQL 2005/06/15 14:33
출처 : http://korea.internet.com
Microsoft SQL Server 2000 설치 작업 도중 실패하여 이후 프로그램 제거 옵션을 사용하지 못할때 해결 하는 방법에 대해서 알아보자. 여기에서 제안하는 방법은 잘못된 설치 환경을 깨끗하게 제거 하기 위해 같은 환경과 방법으로 설치를 한다. 이를 통해 제거 옵션을 사용해서 제거 하는 방법이고 이를 가능하게 하기 위해 안정된 재 설치 시점으로 되돌리는 방법에 대해서 이야기 한다.
Microsoft SQL Server 2000을 제거하기 전에
기본 데이터베이스 중 하나에 속할 수 있는 변경 사항과 함께 현재 상태로 저장하고자 하는 데이터베이스가 있을 수 있다. 그럴 경우 본 문서의 단계를 사용하기 전에 MSSQL 디렉터리를 삭제해야 하므로 MSSQL 디렉터리 이외의 디렉터리에 저장해야 하는 데이터의 양호한 백업이나 모든 데이터와 로그 파일의 복사본이 있는지 확인한다.
이러한 파일에는 Microsoft SQL Server 2000이 기본적으로 설치하는 데이터베이스 파일이 포함된다.
Distmdl.*
Master.*
Mastlog.*
Model.*
Modellog.*
Msdbdata.*
Msdblog.*
Northwnd.*(옵션 설치)
Pubs.*
Pubs_log.*
Tempdb.*
Templog.*
또한 다음과 같이 하는 것이 좋다.
Microsoft SQL Server 2000이 클러스터된 경우 다른 클러스터 리소스가 Microsoft SQL Server 2000에 종속되어 있는지 확인한다.
활성 연결이 있으면 제거 프로세스가 성공적으로 완료되지 못할 수 있으므로 Microsoft SQL Server 2000을 중지한다.
Microsoft SQL Server 2000 클라이언트 또는 관리 도구가 다른 노드에서 열려 있지 않도록 한다.
Microsoft SQL Server 2000 서비스 계정이나 동등한 권한을 가진 계정(로컬 관리자 계정의 구성원인 계정)으로 서버에 로그온한다. SQL Server가 클러스터된 경우 사용하는 계정은 모든 클러스터 노드에 있는 로컬 관리자의 구성원이어야 한다.
제거 하려면 다음과 같이 진행한다.
다음 목록에서 사용자의 환경에 따라 옵션을 한 가지 이상 사용할 수 있다. 아래 순서대로 옵션을 실행한다.
2단계와 3단계는 Microsoft SQL Server 2000의 로컬 설치에 적용할 수 있으며 Microsoft SQL Server 2000의 클러스터된 설치에는 적용할 수 없다.
CD의 Microsoft SQL Server 2000 설치 프로그램을 사용하고 제거를 누른다.
제어판에서 프로그램 추가/제거 애플릿을 연다.
regedit을 실행한 다음 다음 레지스트리 키를 찾는다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
제거 키에서 제거하려는 Microsoft SQL Server 2000의 인스턴스에 해당하는 제품 키를 찾는다.
작업 표시줄에서 시작을 누른 다음 실행을 누른다.
실행 대화 상자에 다음 명령을 복사하여 붙여넣거나 입력한다.
C:\WINNT\IsUninst.exe -f"C:\Program Files\Microsoft SQL Server\MSSQL$Server1\Uninst.isu" -c"C:\Program Files\Microsoft SQL Server\MSSQL$Server1\sqlsun.dll" -msql.mif i=I1
앞의 단계가 작동하지 않는 경우 마지막 수단으로 다음 단계를 사용하여 Microsoft SQL Server 2000을 수동으로 제거할 수 있다.
참고로 당장 SQL Server 2000을 제거하는 것은 아니다. 이 단계는 시스템을 성공적으로 다시 설치할 수 있는 상태로 만든 다음 Microsoft SQL Server 2000 인스턴스를 적절하게 제거하는 것이다.
설치용 Data 폴더를 찾고 데이터를 저장해야 할 경우 이름을 바꾼다. 또는 Data 폴더를 삭제한다. 마이크로소프트는 MDF와 LDF 형식으로 데이터베이스 백업을 사용할 수 있게하기 위해, 사용자들이 데이터 폴더를 삭제하는 것을 권장하지 않는다.
%drive% :\Program Files\Microsoft SQL Server\MSSQL\Binn 폴더를 찾은 다음 삭제한다.
다음 레지스트리 키를 찾은 다음 삭제한다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
다음 레지스트리 키를 찾은 다음 삭제한다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServerADHelper
앞의 레지스트리 키 세 개는 Microsoft SQL Server 2000의 기본 인스턴스에 대응한다. instance_name은 특정 인스턴스에 주어진 이름이기 때문에 명명된 인스턴스는 $instance_name과 함께 d단계에 표시된 것과 비슷하게 나타난다. 제거하려는 인스턴스의 올바른 키를 찾아서 해당 키를 선택하고 삭제한다. 주의해야 할점은 다른 서비스에서 MSSEARCH를 사용하는지 않는 경우 다음 서비스만 삭제한다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFTPSVC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSCNTRS
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSEARCH
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGATHERVER
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGTHRSVC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSINDEX
만약 SQL 서버 인스턴스가 클러스터되어 있으면, 클러스터 관리자에 남아 있을 수 있는 이 SQL 서버 인스턴스의 클러스터 리소스를 제거한다. 반드시 SQL 서버의 리소스만 제거해야 한다.
Microsoft SQL Server 2000을 다시 설치하고 같은 이름, IP 주소 등을 사용한다.
설치 프로그램을 실행하고 정상적인 제거를 수행하여 설치 실패로 인해 남아 있을 수 있는 구성 문제나 오류를 해결한다.
때로는 폴더 %drive%:"\Program Files\Microsoft SQL Server\80이 삭제되지 않을 수 있으며 이 때는 수동으로 삭제해야 한다.
SQL Server 2000을 제거하면 다음과 같은 오류 메시지가 나타날 수 있다.
설치 시스템에 이전 프로그램 설치 과정에서 생긴 보류된 파일 작업이 있다. 설치를 실행하기 전에 컴퓨터를 다시 시작해야 한다.
오류 메시지가 나타나면 서버를 다시 시작한 다음 설치를 다시 해본다. 서버를 다시 시작한 후에 오류 메시지가 다시 나타나면 삭제하려는 파일이 읽기 전용일 가능성이 있다. 파일이 읽기 전용인지 확인하려면 다음 레지스트리 키를 찾는다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Microsoft SQL Server 2000 설치 작업 도중 실패하여 이후 프로그램 제거 옵션을 사용하지 못할때 해결 하는 방법에 대해서 알아보자. 여기에서 제안하는 방법은 잘못된 설치 환경을 깨끗하게 제거 하기 위해 같은 환경과 방법으로 설치를 한다. 이를 통해 제거 옵션을 사용해서 제거 하는 방법이고 이를 가능하게 하기 위해 안정된 재 설치 시점으로 되돌리는 방법에 대해서 이야기 한다.
Microsoft SQL Server 2000을 제거하기 전에
기본 데이터베이스 중 하나에 속할 수 있는 변경 사항과 함께 현재 상태로 저장하고자 하는 데이터베이스가 있을 수 있다. 그럴 경우 본 문서의 단계를 사용하기 전에 MSSQL 디렉터리를 삭제해야 하므로 MSSQL 디렉터리 이외의 디렉터리에 저장해야 하는 데이터의 양호한 백업이나 모든 데이터와 로그 파일의 복사본이 있는지 확인한다.
이러한 파일에는 Microsoft SQL Server 2000이 기본적으로 설치하는 데이터베이스 파일이 포함된다.
Distmdl.*
Master.*
Mastlog.*
Model.*
Modellog.*
Msdbdata.*
Msdblog.*
Northwnd.*(옵션 설치)
Pubs.*
Pubs_log.*
Tempdb.*
Templog.*
또한 다음과 같이 하는 것이 좋다.
Microsoft SQL Server 2000이 클러스터된 경우 다른 클러스터 리소스가 Microsoft SQL Server 2000에 종속되어 있는지 확인한다.
활성 연결이 있으면 제거 프로세스가 성공적으로 완료되지 못할 수 있으므로 Microsoft SQL Server 2000을 중지한다.
Microsoft SQL Server 2000 클라이언트 또는 관리 도구가 다른 노드에서 열려 있지 않도록 한다.
Microsoft SQL Server 2000 서비스 계정이나 동등한 권한을 가진 계정(로컬 관리자 계정의 구성원인 계정)으로 서버에 로그온한다. SQL Server가 클러스터된 경우 사용하는 계정은 모든 클러스터 노드에 있는 로컬 관리자의 구성원이어야 한다.
제거 하려면 다음과 같이 진행한다.
다음 목록에서 사용자의 환경에 따라 옵션을 한 가지 이상 사용할 수 있다. 아래 순서대로 옵션을 실행한다.
2단계와 3단계는 Microsoft SQL Server 2000의 로컬 설치에 적용할 수 있으며 Microsoft SQL Server 2000의 클러스터된 설치에는 적용할 수 없다.
CD의 Microsoft SQL Server 2000 설치 프로그램을 사용하고 제거를 누른다.
제어판에서 프로그램 추가/제거 애플릿을 연다.
regedit을 실행한 다음 다음 레지스트리 키를 찾는다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
제거 키에서 제거하려는 Microsoft SQL Server 2000의 인스턴스에 해당하는 제품 키를 찾는다.
작업 표시줄에서 시작을 누른 다음 실행을 누른다.
실행 대화 상자에 다음 명령을 복사하여 붙여넣거나 입력한다.
C:\WINNT\IsUninst.exe -f"C:\Program Files\Microsoft SQL Server\MSSQL$Server1\Uninst.isu" -c"C:\Program Files\Microsoft SQL Server\MSSQL$Server1\sqlsun.dll" -msql.mif i=I1
앞의 단계가 작동하지 않는 경우 마지막 수단으로 다음 단계를 사용하여 Microsoft SQL Server 2000을 수동으로 제거할 수 있다.
참고로 당장 SQL Server 2000을 제거하는 것은 아니다. 이 단계는 시스템을 성공적으로 다시 설치할 수 있는 상태로 만든 다음 Microsoft SQL Server 2000 인스턴스를 적절하게 제거하는 것이다.
설치용 Data 폴더를 찾고 데이터를 저장해야 할 경우 이름을 바꾼다. 또는 Data 폴더를 삭제한다. 마이크로소프트는 MDF와 LDF 형식으로 데이터베이스 백업을 사용할 수 있게하기 위해, 사용자들이 데이터 폴더를 삭제하는 것을 권장하지 않는다.
%drive% :\Program Files\Microsoft SQL Server\MSSQL\Binn 폴더를 찾은 다음 삭제한다.
다음 레지스트리 키를 찾은 다음 삭제한다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
다음 레지스트리 키를 찾은 다음 삭제한다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServerADHelper
앞의 레지스트리 키 세 개는 Microsoft SQL Server 2000의 기본 인스턴스에 대응한다. instance_name은 특정 인스턴스에 주어진 이름이기 때문에 명명된 인스턴스는 $instance_name과 함께 d단계에 표시된 것과 비슷하게 나타난다. 제거하려는 인스턴스의 올바른 키를 찾아서 해당 키를 선택하고 삭제한다. 주의해야 할점은 다른 서비스에서 MSSEARCH를 사용하는지 않는 경우 다음 서비스만 삭제한다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFTPSVC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSCNTRS
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSEARCH
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGATHERVER
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGTHRSVC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSINDEX
만약 SQL 서버 인스턴스가 클러스터되어 있으면, 클러스터 관리자에 남아 있을 수 있는 이 SQL 서버 인스턴스의 클러스터 리소스를 제거한다. 반드시 SQL 서버의 리소스만 제거해야 한다.
Microsoft SQL Server 2000을 다시 설치하고 같은 이름, IP 주소 등을 사용한다.
설치 프로그램을 실행하고 정상적인 제거를 수행하여 설치 실패로 인해 남아 있을 수 있는 구성 문제나 오류를 해결한다.
때로는 폴더 %drive%:"\Program Files\Microsoft SQL Server\80이 삭제되지 않을 수 있으며 이 때는 수동으로 삭제해야 한다.
SQL Server 2000을 제거하면 다음과 같은 오류 메시지가 나타날 수 있다.
설치 시스템에 이전 프로그램 설치 과정에서 생긴 보류된 파일 작업이 있다. 설치를 실행하기 전에 컴퓨터를 다시 시작해야 한다.
오류 메시지가 나타나면 서버를 다시 시작한 다음 설치를 다시 해본다. 서버를 다시 시작한 후에 오류 메시지가 다시 나타나면 삭제하려는 파일이 읽기 전용일 가능성이 있다. 파일이 읽기 전용인지 확인하려면 다음 레지스트리 키를 찾는다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations