티스토리 뷰

MS SQL Server 2005 Express 원격연결 설정하기

 

본 포스트에서 다룰 내용은 MS SQL Server 2005 Express를 설치하여 원격으로 연결할 수 있도록 설정하는 방법입니다.

또한 Windows XP SP2 이상에서는 운영체제 자체의 방화벽으로 인해 원격연결이 막히는 경우가 있는데 이를 해결하는 방법도 제시할 것 입니다.

 

MS SQL Server 2005 Express

자세한 내용은 다음 링크를 참조하시기 바랍니다.

MS SQL Server 2005 Express Edition

 

SQL Server 노출영역 구성(SQL Server 2005 Surface Area Configuration)

MS SQL Server 2005 Express Edition을 비롯해 MS SQL Server 2005 제품군은 기본적으로 보안을 위해서 원격연결을 허용하지 않는 상태로 설치가 됩니다.이 보안상 이유로 원격연결이 활성화되지 않은 구성을 바꿔주기 위한 도구가SQL Server 노출영역 구성도구입니다.

 

사용자 삽입 이미지

 

SQL Server 노출영역 구성 도구를 실행한 화면입니다. 원격연결을 허용하기 위해서서비스 및 연결에 대한 노출 영역 구성을 클릭합니다.

 

사용자 삽입 이미지

 

좌측 메뉴의 원격 연결 부분을 클릭화면 처음에는 '로컬 연결만'에 체크가 되어 있을 겁니다. 이를 '로컬 및 원격 연결' 허용을 체크하고 'TCP/IP 및 명명된 파이프 모두 사용'에 체크를 합니다.

 

사용자 삽입 이미지

 

다음으로 좌측 메뉴에서 SQL Server Browser를 선택하고, 서비스 부분을 선택합니다. 여기서 '시작 유형'이 자동으로 설정되어 있지 않다면 자동으로 설정한 후에 서비스가 시작되지 않은 상태라면 '시작' 버튼을 클릭해 서비스를 실행해 줍니다. 그런후 '확인' 버튼을 클릭해SQL Server 노출 영역 구성도구를 종료합니다.

 

SQL Server 구성 관리자(SQL Server Configuration Manager)

이제 원격연결이 허용된 상태가 되었습니다. 하지만 아직 몇가지 설정해줘야 할 것이 있습니다. 기본적으로 SQL Server 2005 Express 버전은 원격연결 허용을 위해 동적포트를 사용합니다. 즉 이말은 SQL Server 2005 Express 서비스가 새로 시작될 때마다 원격연결 포트가 바뀐다는 의미입니다. 그러나 잠시후에 예기하겠지만 동적포트를 사용하게되면 방화벽 설정에 의해서 원격연결을 시도하게 되면 해당 포트가 막히게 되어 정상적으로 원격연결을 할 수가 없게 됩니다. 수고스럽겠지만 SQL Server 2005 Express 서비스가 새로 시작될 때마다 동적포트를 확인하여 방화벽에서 해당 포트를 예외로 지정해주면 되겠지만 이는 참 번거로운 작업이라 할 수 있습니다.

따라서, 여기서는 동적포트가 아닌 정적포트로 설정하는 방법을 설명하겠습니다.

 

사용자 삽입 이미지

 

SQL Server 구성 관리자 도구를 실행시키면 위와 같은 창이 뜹니다. 좌측메뉴처럼SQLEXPRESS에 대한 프로토콜을 클릭합니다.

오른쪽 메뉴에서처럼 TCP/IP 부분이 사용상태가 되어있어야 합니다.

 

사용자 삽입 이미지

 

TCP/IP 부분을 클릭하면 위와 같은 창이 뜹니다. 각 항목의 설정값을 위와 같이 설정합니다. 다음으로 IP주소 탭을 클릭합니다.

 

사용자 삽입 이미지

 

IP주소 탭을 클릭하면 위와 같은 창이 뜹니다. 여기는 해당 컴퓨터에서 사용중인 모든 IP들이 순서대로 나타납니다. 여기서IP All부분의TCP 동적 포트항목의 값을 지워버리고,TCP 포트항목에 1433이라고 적습니다. 여기서 1433을 사용하는 이유는 SQL Server 제품군이 기본적으로 사용하는 포트번호가 1433이기 때문입니다.

이제 '확인' 버튼을 클릭하여 설정을 저장합니다.

 

사용자 삽입 이미지

 

마지막으로SQL Server 2005 서비스메뉴를 클릭하여 우측과 같이 2가지 서비스가 모두 실행중인지 확인합니다.

이로써 SQL Server 2005 Express가 원격연결을 허용할 수 있게 설정이 완료되었습니다.

 

Windows XP SP2이상에서 방화벽 설정하기

일단 SQL Server 2005 Express가 원격연결을 허용하도록 설정을 완료하였습니다. 그러나, 운영체계가 Windows XP SP2 이상에서 사용되는 방화벽이나 사설 방화벽을 사용할 경우 원격지에서 원격연결이 되지 않는 경우가 발생합니다. SQL Server 2005 Express에서 기본적으로 몇가지 포트를 사용하는데 이를 방화벽에서 예외로 설정해주어야 원격지에서 원격연결을 할 수 있게 됩니다. 방화벽에서 예외로 설정해주어야 할 포트는 다음과 같습니다.

 

1. TCP 1433

2. TCP 135

3. TCP 445(파일 및 프린터 공유 항목에 포함된 포트)

4. UDP 1434

 

또한 아래와 같은 경로의 2가지 실행파일을 예외로 설정해 주어야 합니다.

 

1. [install Dir]:\Program Files\Microsoft SQL Server\MSSQL.x\MSSQL\Binn\sqlservr.exe

2. [install Dir]\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe

 

사용자 삽입 이미지

 

위에서 설명된 6가지 항목을 방화벽에서 예외로 설정한 모습입니다. 저는 TCP 135를 별도로 허용하는 것보다 파일 및 프린터 공유를 체크하여 예외로 설정해 두었습니다.

 

IPX/SPX/NetBios 호환 트랜스포트 프로토콜 추가하기

위와 같이 모든 설정을 마친 후에 '서버이름\SQLEXPRESS' 라는 서버명으로 접속을 시도할 때에 안되는 경우가 있습니다. 그럴 때에는 아래 창과 같이 네트워크 포토토콜을 추가로 설치해 주면 됩니다.

 

사용자 삽입 이미지