일or놀이/MS-SQL

DBA가 꼭 알아야할 MS SQL의 특성 ①

TIGERJUNE 2006. 8. 14. 19:33
지난 강좌에서는 마이크로소프트 SQL 서버가 어떻게 개발, 발전하게 됐는지 알아봤다. 이와 함께 프로그래밍을 기본으로 해야하는 DBA의 업무 성격도 파악했다. 이번 강좌는 DBA가 우선적으로 숙지해야할 마이크로소프트 SQL 서버의 특성을 알아보고자 한다. 설치하는 방법보다는 설치할 때 범할 수 있는 실수를 줄일 수 있도록 주의사항을 위주로 서술했다.


이인석_오늘과내일 운영관리팀 대리

컴퓨터를 사용하면서 설치(install)라는 단어를 자주 접한다. 그도 그럴것이 운영체제를 포함해서 각종 소프트웨어는 설치라는 과정을 거쳐 컴퓨터에서 동작하기 때문이다. 따라서 설치 내용은 늘 세미나나 강좌, 그리고 기술 서적의 앞부분에 놓인다. 이번 강좌에서도 마이크로소프트 SQL을 설치하는 방법을 설명해야 하지만, 자세한 사항은 언급하지 않겠다. 설치 방법은 마이크로소프트 웹 사이트나 기타 관련 사이트에 자세히 설명돼 있어 혼자서도 충분히 설치할 수 있다. 대신 설치하면서 주의해야 할 부분이나 설치하고 나서 확인해야 할 사항을 알아보는 것이 나을 것이다.
주의사항을 알아보기에 앞서 SQL 7.0과 설치 프로세스를 비교해보면 2000으로 업그레이드되면서 더욱 안정적으로 발전했다. 설치 뿐만 아니라 제거 작업 역시 안정적으로 지원한다.

SQL 설치시 보안 권고 사항
일반적인 보안 권고 사항으로 SQL 서비스를 실행하는 계정을 기본 ADMINISTRATOR나 LOCALSYSTEM 계정이 아닌 다른 계정으로 서비스 권한을 가질 것을 권고한다. 이는  ADMINISTRATOR 계정이 해킹을 당해도 SQL을 지키기 위한 하나의 방편이다. 그러나 현재 윈도우 2000 서버는 원격 관리를 하기 위해 대부분 터미널 서비스 관리자 모드로 운영된다. ADMINISTRATOR 계정이 뚫리면 모든 것이 끝장난다고 생각하면 된다.
다른 계정을 생성해 ADMINISTRATOR의 권한(ADMIN 권한이 없으면 자동화, 복제, DTS에 문제가 발생한다)을 주고 SQL 관련 서비스 권한을 이 계정으로 할당한다. 보안 문제로 이 계정의 비밀번호를 바꿨다면, 시작→실행 창에서 SERVICES.MSC를 실행하면 윈도우 2000이나 기타 애플리케이션의 서비스 리스트가 나열된다. SQL의 관련 서비스명은 MICROSOFT SQLSERVER와 SQLSERVERAGENT 두개가 있는데, 여기서도 비밀번호를 변경해야 한다. 해당 서비스에 대해 등록정보를 열려면 마우스 오른쪽 버튼 클릭을 이용하거나 해당 서비스를 더블 클릭하면 된다. 이제 로그온 탭에서 계정 지정을 선택하고 찾아보기로 해당 계정을 등록하면 된다. 중간에 해당 계정의 비밀번호를 변경했다면 계정은 그대로 두고 비밀번호를 변경하면 된다.

(화면 1) 계정 암호 변경후 설정


SQL 서비스 계정을 따로 지정했고 해당 계정의 암호를 변경했다면 (화면 1)과 같이 설정해 줘야 한다. 그렇지 않으면 SQL 서비스가 로그온을 하지 못해 서비스를 시작할 수 없다는 메시지를 이벤트 뷰어에서 보게 되고 SQL 서비스는 시작도 못한다.

노드와 인스턴스로 구성되는 SQL
SQL을 설치하기 전에 몇가지 고려해야할 사항이 있다. 우선 SQL의 제품군은 엔터프라이즈, 스탠다드, 개인판, 개발자 버전 등으로 구분된다. 일반적으로는 스탠다드 제품은 윈도우 2000 서버와 많이 사용된다. 데이터베이스 용량이 크고 트랙잭션이 많다면 엔터프라이즈 제품을 사용해야 한다. 스탠다드 버전에 비해 더 많은 메모리와 CPU를 지원하고 그 밖의 클러스터링, 로그쉬핑 등을 제공한다. 개인판은 윈도우 98이나 윈도우 워크스테이션, 2000 프로페셔널 버전에 설치된다. 개발자 버전은 말 그대로 개발자를 위한 버전이다.
(표 1)은 지원할 수 있는 CPU의 개수와 메모리의 수치를 나타낸다. N&A는 지원을 못하는 것을 나타낸다.

(표 1) 운영체제별 지원


설치 프로그램을 실행하는 동안 주의해서 지켜 볼 것이 있다. '새로운 SQL 서버 인스턴스를 설치하거나 기존 SQL 서버 인스턴스를 수정하려는 컴퓨터 이름을 입력하십시오'라는 문구와 함께 로컬 컴퓨터에 SQL에 설치할 것인지, 원격 컴퓨터에 설치할 것인지를 선택하는 글이 나온다. 물론, 말 그대로 로컬은 현재 셋업 디스크를 넣은 서버 컴퓨터에 설치하는 것이고, 원격은 네트워크로 통신할 수 있는 서버 컴퓨터에 설치하는 것이다.
이 단계에서 두 가지 중요한 개념이 있다. 활성화가 돼 있지 않은 가상 컴퓨터라는 것이 있는데, 이것은 마이크로소프트 SQL 서버의 클러스터링을 설치할 때 활성화된다. 클러스터링에서는 호스트라고 하지 않고 노드라고 하고, 마이크로소프트의 클러스터링은 MSCS(Microsoft Cluster Server)라고 한다. 이 클러스터를 설치할 때 가상 서버를 선택해 설치하게 된다.
다른 하나는 인스턴스의 개념이다. 쉽게 이야기해 한 개의 SQL 서버를 인스턴스라고 보면 쉽다. 참고로 이전 7.0 버전에서는 다중 인스턴스를 지원하지 못하지만, 2000부터는 다중 인스턴스를 지원한다. 이 말은 곧 여러 대의 마이크로소프트 SQL 서버를 한대의 서버 컴퓨터에 설치할 수 있다는 뜻이다. 이렇게 다중 인스턴스를 지원한 이유는 마이크로소프트가 비용적인 문제를 고려한 것으로 보인다.
간단히 예를 들어보자. A라는 회사에 여러 부서가 있다. 그런데 생산 부서에서는 개발을 목적으로, 영업 부서에서 현재 운영하고 있는 관리 업무를 목적으로 각각 자기들은 1대의 SQL 서버가 필요하다고 한다. 그러나 전산 담당자들이 본다면 2대의 SQL 서버가 필요할까 고민한다. 그래서 1대의 호스트에 전혀 다른 SQL 서버를 설치하는 방법을 제안했다. 접속 방법도 다르고 IP도 다르게 설정할 수 있기 때문이다. 이것은 윈도우의 TCP/IP에서 적용해야 하지만. 이렇게 되면 라이선스와 호스트 비용을 절감할 수 있다. 하지만 개발자들은 시스템의 활용도가 높아서, 시스템의 부하를 일으키는 주범이 될 수 있어, 이 방법은 그리 권할 만한 방법은 아니다.

효율적인 마이크로소프트 SQL 서버 설치 유형
(화면 2)는 한대의 서버에 다중 인스턴스가 설정돼 있다. (화면 2)를 보면 왼쪽 두 박스는 마이크로소프트 SQL의 EM(Enterprise Manager)을 통해 다중 인스턴스의 상태를 본 것이다. (화면 2)에서 좌측 상단의 .은 최초로 설치된 인스턴스이며, 좌측 하단은 두번째로 설치된 인스턴스로, SQL2000_3RD라고 설정됐다. 우측은 각각의 인스턴스에 쿼리아날라이저로 접속한 모습이다. 역시 네모 박스에는 각 인스턴스의 이름이 있다.
참고로 첫번째 만들어진 인스턴스의 이름은 윈도우 2000 서버의 호스트 네임을 따라간다. 그래서 ISM이라는 이름이 붙은 것이고, 두번째 인스턴스부터는 서버의 호스트 네임인스턴스 이름의 형식이고, 이렇게 해서 해당 인스턴스로 접속해야 한다.

(화면 2) 엔터프라이즈 매니저에서 다중 인스턴스 상태

(화면 3) 설치 유형


(화면 3)에서 나타난 표준, 최소, 사용자 지정이라는 설치 유형에 따라 설치하면 된다. 중요한 것은 대상 폴더를 어디로 지정해 마이크로소프트 SQL 서버를 설치할 것인가이다. 일반적으로 프로그램 파일이라고 하는 SQL 관련 서비스 파일(DLL, EXE 등)은 기본값으로는 C 드라이브의 프로그램 파일 밑에 놓인다. C 드라이브라고 하면 운영체제와 기타 애플리케이션이 입출력되는 곳이다. 일반적으로 서버는 디스크를 여러 개로 사용하는데, 각각의 디스크가 서로 다른 용도로 구분되는 것이 디스크 입출력의 효율을 높여준다.
예를 들어 ID0번인 디스크에는 윈도우 시스템을, ID1번인 디스크에는 페이징파일(스왑 파일, 즉 가상 메모리를), ID2번인 디스크에는 SQL 시스템을, ID3번인 디스크에는 SQL의 데이터 저장소로 한다면 각각의 디스크가 입출력의 목적이 다르기 때문에 서로 같이 동작하지 않고 효율이 높지 않아 디스크의 동작이 보다 유연하게 지원될 것에 중점을 둬야 한다.
그렇다고 이와 같은 예가 정답은 아니다. 디스크의 구성은 본인이 구축하는 시스템에 적당하게 백업을 고려하면서 구성하는 것이 중요하다. 기본적으로 디스크가 두 개라면 윈도우 2000 시스템 파티션에 프로그램 파일을 위치하고 다른 파티션에 데이터 파일을 놓아두는 것이 좋다.
이후 몇 단계의 과정을 거치면 셋업이 끝난다. 셋업이 끝났다고 좋아할 일이 아니다. 일반적으로 마이크로소프트 SQL을 설치한다면 윈도우 2000 서버에 설치할 것이다. 윈도우 2000 서버를 설치한 이후 최신 서비스팩을 적용하고 윈도우 업데이트 사이트에서 최신의 핫픽스를 다운받아서 패치해야 한다. 그리고 마이크로소프트 SQL을 설치해야 한다. 최신 서비팩은 마이크로소프트의 사이트에 가면 쉽게 다운받을 수 있다.
서비스팩을 설치하면 다시 윈도우 업데이트 사이트를 방문해 자신의 핫픽스 설치 유무를 점검해 보아야 한다. 다시 또 설치하라는 문구가 나오는데, 이것도 모두 설치해야 한다. 이렇게 한다면 일반적인 마이크로소프트 SQL 서버의 설치가 끝난다. 이후는 각자 자신의 업무 환경에 맞게 몇 가지를 수정해야 할 것이 있을 것이다. 윈도우 2000 서버를 포함해서 마이크로소프트 SQL이 잘 설치가 됐는지 접속은 잘 되는지를 점검해야 할 것이다.

출처 :
on the NET