회사에서 그 동안 사용하던 윈도우즈 2000서버의 OS를 2003으로 업그레이드 하면서 SQL서버의 서비스 팩을 올려야 했다. 별거 아니라고 생각하고 MS사이트로 가서 서비스 팩을 내려 받았다.
장황한 설명은 제대로 읽어보지도 않고 다운로드 파일 중에 MSDE가 들어있는 파일을 내려 받고 Setup.exe를 바로 실행했다. 그런데, 인자가 필요하다는 에러가 나면서 에러가 나기 시작했다. 도움말을 열어보았더니만 Setup파일에 파라메터를 넘기도록 되어 있었다. 혼자 "왜 이렇게 복잡하게 만들었지, 그냥 실행파일 하나면 더블 클릭하게 만들지 않고..." 중얼거리며 Command창에 명령어를 쳐 내려가며 실행을 했다. 역시나 에러가 났다.
이 때부터 뭔가 이상한 기분이 들기 시작했다. 도움말을 더 자세히 보고 설정을 바꿔 인스톨을 시도해 봤지만 모두 같은 에러가 발생했다. 'SQL서버를 몇 년째 사용하고 있는데, 서비스 팩조차 제대로 설치 못하는 구나...'하는 자괴감이 들기 시작했다.
꼬박 하루를 헤매었다. 쪽 팔려서 누구에게 물어보기도 뭐해서 검색만 하다 보니 시간이 더 많이 걸린 것이다. 그러다가 결국 구글에서 해결책을 찾았다. 서비스 팩 4는 시스템의 필요에 따라 종류별로 다운로드를 받을 수 있다. 첫 번째는 Analysis관련, 두 번째는 MSDE, 세 번째는 일반적인 서비스 팩이다. 난 당연히 엔진만 업그레이드 하면 된다고 생각해서 두 번째를 받아서 설치하려고 했던 것이다.
[파일명]
SQL2000.MSDE-KB884525-SP4-x86-KOR.EXE : Desktop Engine
SQL2000-KB884525-SP4-x86-KOR.EXE : 데이터베이스 구성 요소 (이 녀석을 받아야 함)
MSDE만 설치되어 있는 경우에는 두 번째를 설치하는 게 맞지만, 정상적인 서버가 설치되어 있는 경우는 세 번째를 설치해야만 되는 것이었다. 설명서를 안 읽은 것도 잘못이지만 제대로 알지 못하고 깝줍된게 더 큰 문제였다.
[SP4에 포함된 SQL Server 2000 구성 요소 패키지 -MSDN]
- 데이터베이스 구성 요소(다운로드 파일: SQL2000-KB884525-SP4-x86.EXE):
데이터베이스 엔진, 복제, 클라이언트 연결 구성 요소 및 도구를 비롯해 SQL Server 2000의 32비트 데이터베이스 구성 요소를 업데이트합니다. 추가 정보는 ReadmeSql2k32Sp4.htm을 참조하십시오.
- Analysis Services 구성 요소(다운로드 파일: SQL2000.AS-KB884525-SP4-x86.EXE):
SQL Server 2000의 32비트 Analysis Services 구성 요소를 업데이트합니다. 추가 정보는 ReadmeSql2k32ASp4.htm을 참조하십시오.
- SQL Server 2000 Desktop Engine(MSDE) 구성 요소(다운로드 파일: SQL2000.MSDE-KB884525-SP4-x86.EXE):
SQL Server 2000의 32비트 MSDE 구성 요소에 대해 다음을 수행합니다.- MSDE의 새 인스턴스 설치
- MSDE의 기존 인스턴스 업그레이드
- 병합 모듈을 사용하는 응용 프로그램 업데이트
- SQL Server 2000의 64비트 구성 요소(다운로드 파일: SQL2000-KB884525-SP4-ia64.EXE):
SQL Server 2000의 64비트 데이터베이스 구성 요소 및 64비트 Analysis Services 구성 요소를 업데이트합니다. 추가 정보는 ReadmeSql2k64Sp4.htm을 참조하십시오
하여튼 세 번째를 받아서 제대로 설치했다. 서비스 팩은 정상적으로 설치되었다.
select @@version
[결과]
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) 1988-2003 Microsoft Corporation
Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
서비스 팩별로 버전 정보는 다음과 같다.
마지막으로 서비스 팩을 설치하지 않으면 DB Connection 맺을 때 다음과 같은 에러가 발생한다.
단, OS가 윈도우즈 2003서버일 때이다. SQL서버는 클라이언트에서 서버로 DB connection을 맺는 프로토콜이 두 개가 있다. 하나는 named pipe이고 다른 하나는 TCP/IP이다. TCP/IP일 경우 1433포트를 기본으로 사용하게 되는데 패치를 하지 않으면 이 포트가 막혀서 연결에 실패하게 된다.
'핫뉴스 리뷰' 카테고리의 다른 글
SQL서버의 보안 설정을 제대로 알아보자. (1) | 2009.09.22 |
---|---|
그들은 어떤 사진을 올렸을까? (using Flickr API) (0) | 2009.09.16 |
온라인에서 작업하자. (0) | 2009.09.10 |
댓글