[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

레이블이 MS-SQL Server 2000인 게시물을 표시합니다. 모든 게시물 표시
레이블이 MS-SQL Server 2000인 게시물을 표시합니다. 모든 게시물 표시

2016년 2월 16일 화요일

[DB]MS-SQL Server 인스턴스(Instance) 사용시 원격 접속하기..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

이거 해결하느라고 원래 할려고 했던 일도 거의 못하고 죽는 줄 알았다.

MS-SQL에서 인스턴스를 사용하면(셋팅되어 있는 MS-SQL 서버였기 때문에 인스턴스 사용에 대한 부분은 잘 모르겠다. 여기선 접속만...) MS-SQL서버의 주소에 인스턴스 명이 붙는다. 즉,

ServerDomain\InstanceName

같은 형식이 된다.  ServerDomain같은 경우 도메인이 될 수도 있고 아이피가 될수도 있다. 인스턴스 이름은 정해준 이름으로 나오고.... 완벽히 파악은 못했지만 같은 네트워크 안에서는 이 주소만으로도 EM(Enterprise Manager)나 프로그램상의 코드로 붙을 수 있는데 네트워크 밖으로 나가면 그렇게 되지 않는다. 아마 네트워크내에서는 바로 연결이 가능하지만 외부망에서는 TCP/IP 접속상에 약간 다른 부분이 있는 듯 하다. (2000에서도 그런지는 잘 모르겠지만 2005서버에서는 TCP/IP로 붙을 수 있게 열어도 주어야 하고 원격허용여부도 설정해 주어야 원격접속자체가 가능하다.)

내부에서 잘 사용하고 있던 것을 네트워크밖으로 나가니까 접속을 할 수가 없었다. 네트워크나 서버 이것저것 다 살표보았지만 전혀 되지 않았는데 원격데스크탑등은 접속이 가능했기 때문에 서버위치까지는 찾아가는데 SQL Server에 접속을 하지 못하는 것으로 보였다.

그러다가 이게 인스턴스를 사용해서 주소가 단순 도메인이 아니라 도메인\인스턴스 형식이 되어서 비롯된 문제라는 것을 알게 되었다. 내가 겪은 환경에서는 인스턴스가 한개뿐이지만 인스턴스는 여러개를 만든다는 것이 전제되기 때문에 인스턴스마다 다른 포트가 할당된다. 그래서 접속을 할때 명시적으로 해당 인스턴스의 포트를 지정해 주어야 접속이 가능한 것으로 보인다.(왜 이름으로는 못찾는거야.. ㅡ..ㅡ)

커넥션 스트링의 정확한 규칙은 아래와 같다.

<servername>[\<instancename>],<port>
<ipaddress>[\<instancename>],<port>

ex) 123.123.123.123\mydb,1036


위의 2가지 형태이다. 위에서 []안에 있는 인스턴스이름은 생략가능하다는 표시이다. 주소뒤에 포트번호를 콤마(,)로 이어붙혀준다. 내 경우에는 1036이었다. 항상 느끼는 거지만 역시 뭔거 어려운 문제다 싶으면 해외사이트들을 검색해야 한다. 내가 참고한 블로그

서버포트를 확인하려면...

사용자 삽입 이미지

[Microsoft SQL Server]안에 들어가면 "서버 네트워크 유틸리티"와 "클라이언트 네트워크 유틸리티"라는 것이 있다. 서버 네트워크 유틸리티는 PC에 대한 서버에 대한 설정이고 클라이언트 네트워크 유틸리티는 지금 PC에서 다른 서버로 접속을 시도할 때의 설정에 관한 부분이다.

서버 네트워크 유틸리티에 들어가 보자.

사용자 삽입 이미지

(여기서 원격접속 자체가 가능하려면 명명된 파이프와 TCP/IP가 사용할 수 있는 프로토콜 측에 있어야 한다.)
TCP/IP를 선택하고 속성을 보면

사용자 삽입 이미지

해당 인스턴스의 포트번호가 나온다.

1433은 MS-SQL의 기본포트이기 때문에 달리 설정을 해주지 않으면 1433으로 접속을 시도한다. 즉 커넥션스트링을 적어줄 때 포트번호를 명시적으로 적어주지 않으면 1433으로 접속을 시도한다는 얘기이다. 그래서 MS-SQL의 인스턴스의 포트가 1433이 아니라면 명시적으로 포트번호를 적어주어야 한다.

역시 셋팅은 너무 머리아퍼.. ㅡ..ㅡ

2016년 2월 11일 목요일

[Book] Microsoft SQL Server 2000 - 전문가로 가는 지름길 1 (개발자용)..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

Microsoft SQL Server 2000 - 10점
정원혁 지음/대림


난 DB나 쿼리에 상당히 약하기 때문에 보기 시작한 책이다. 또 업무상 주로 MS-SQL을 쓰기 때문에.....

이 책을 보면서 내내 든 느낌은 탄탄하다는 느낌이다. 아주 쉽지도 아주 어렵지도 않고 딱 적당하다... 물론 나한테.... 너무 쉬운 책은 처음에 볼 때는 이해가 쉽게 되는 것 같아 좋기도 하지만 한번 보고 나면 더이상 볼게 없어지는 상황에 이를 수가 있는데 이책은 그렇지 않다.

나는 초급자 이긴 하지만 아주 초급이어두 꽤 도움이 될만한 수준의 내용을 담고 있고 지은이가 SQL에 대해서 확실히 이해를 하고 있다는 느낌을 받을 수 있을만큼 중요한 부분을 차근차근하게 설명을 해준다.

이 시리즈는 1,2권으로 나누어져 있는데 1권은 개발자적인 부분이고 2권은 DBA적인 부분인데 나는 DBA가 아니므로 1권만 봤는데 기본적인 테이블 사용에 관한 쿼리부분은 당연한 부분이고 중급자적인 부분으로 여겨지는 색인이나 트랜잭션, 트리거, 스토어드 프로시저등등 MS-SQL을 사용하는데 필요한 모든 부분에 대해서 고심한 흔적이 느껴지는 적절한 예제와 따라하기를 통해 이해를 돕고 있으며 기초적인 부분과 중급부분을 자연스럽게 이어서 설명하면서 이해를 쉽게 해주었다.

물론 SQL Server 2000이 나온지 8년이나 되었고 2005를 넘어 이제 곧 서버 2008이 나올 예정이긴 하지만 기본적인 부분은 동일하기 때문에 지금 보아도 충분이 도움이 되리라고 생각한다. 현재에도 많은 도움이 되었지만 어느정도 시간이 지난 뒤에 다시 보아도 또 도움이 될듯한 책이다.