데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

SQL Server Net Libraries

jevida(강성욱) 2016.09.13 06:53 Views : 1117

SQL Server Net Libraries

 

클라이언트에서 데이터베이스 엔진에 연결하려면 서버가 사용 가능한 프로토콜을 수신 중이어야 한다. SQL Server는 클라이언트가 통신하기 위하여 동적 연결 라이브러리(DLL)로 알려진 여러 Net Libraries를 제공한다. 이러한 Net Libraries는 SQL Server와 클라이언트간에 데이터를 교환하는 사용할 프로토콜을 지정한다. Microsoft SQL Server는 동시에 여러 프로토콜에 대한 요청을 서비스 할 수 있다.

 

SQL Server에서는 4가지 프로토콜을 설정 할 수 있다. 프로토콜 설정은 SQL Server 구성관리자에서 할 수 있다.

 

클라이언트에서는 단일 프로토콜을 사용하여 SQL Server에 연결 한다. 클라이언트 프로그램에서 SQL Server가 수신하는 프로토콜을 알지 못하는 경우 여러 프로토콜을 순서대로 시도하도록 클라이언트를 구성한다.

 

SQL Server 구성 관리자 도구를 사용하여 다음 작업을 수행 할 수 있다.

  • SQL Server의 인스턴스가 수신할 서버 프로토콜 활성.
  • 각 데이터베이스 엔진에서 수신할 IP 주소, TCP/IP 포트 및 명명된 파이프를 지정하거나 변경
  • 사용 가능한 모든 서버 프로토콜에 대해 SSL(Secure Sockets Layer)암호화 사용.(인증서 필요)

 

[라이브러리 옵션]

공유 메모리

  • 가장 간단한 프로토콜이며 구성 가능한 설정이 없다. SQL Server와 클라이언트가 같은 물리적인 머신에 있는 경우 실제 네트워크 스택을 거치지 않고 Net Library를 사용한다. 그 이유는 SQL Server와 클라이언트가 통신하기 위하여 Windows 공유메모리 기능을 사용하기 때문이다. 다른 프로토콜이 제대로 작동 하지 않는 경우 문제 해결을 위하여 공유 메모리 프로토콜을 사용하여 접속 할 수 있다.
  • MDAC 2.8 또는 이전 버전을 사용하는 클라이언트에서는 공유 메모리를 프로토콜을 사용 할 수 없으며 이를 사용하려고 시도하면 자동을 명명된 파이프로 전환 된다.

 

 

TCP/IP

  • TCP/IP는 Windows 플랫폼에서 실행되는 클라이언트의 기본 프로토콜이다.
  • 다양한 하드웨어 아키텍처 및 운영 체제가 있는 컴퓨터의 상호 연결된 네트워크를 통해 통신 한다.
  • TCP/IP는 네트워크 트래픽의 라우팅을 위한 표준을 포함하며 고급 보안 기능을 제공 한다.
  • 공유 메모리 설정에서 첫 번째로 선택되어지는 프로토콜이다.

 

명명된 파이프

  • 명명된 파이프는 빠른 연결을 위해 LAN 네트워크에서 사용.
  • 메모리의 일부는 한 프로세스에서 다른 프로세스로 정보를 전달 하는데 사용.(한 곳의 출력은 다른 곳의 입력이 됨)

 

VIA

  • 가상 인터페이스 어댑터를 의미.
  • 하드웨어 VIA와 함께 작동.
  • 향후 릴리즈에서 제거 예정.

 

[TCP/IP VS 명명된 파이프]

TCP/IP

명명된 파이프

  • 명명된 파이프보다 효율적. 오버헤드 적음
  • 성능 강화 메커니즘을 사용. 느린 네트워크에 유용
  • 백로그 큐 지원
  • 일반적으로 느린 LAN, WAN 또는 전화 접속 네트워크에 적절함
  • 다른 피어가 읽기 명령으로 요청하기전 데이터 보내지 않음.
  • 데이터를 읽기전 파이프 메시지 피킹이 수행.
  • 느린 네트워크에서 과도한 트래픽 사용.
  • 로컬 커널 모드로 실행되며 매우 빠름
  • 네트워크 속도가 문제되지 않는 경우 사용

 

[참고 사항]

프로토콜은 작업할 클라이언트 및 서버 양쪽에서 설정 되어있어야 한다. 서버는 사용 가능한 모든 프로토콜에서 동시에 요청을 수신 할 수 있다. 클라이언트 컴퓨터에서는 한 개의 프로토콜을 선택하거나 SQL Server 구성 마법사에 나열된 순서로 프로토콜 사용 시도를 할 수 있다.

SQL Server는 프로토콜 변경 사항을 적용하려면 SQL Service를 다시 시작해야 한다.

장애 조치 클러스터 환경에서는 TCP/IP 및 명명된 파이프만 지원한다.



강성욱 / jevida@naver.com

Microsoft SQL Server MVP

Blog : http://sqlmvp.kr

Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
» SQL Server Net Libraries jevida(강성욱) 2016.09.13 1117
1692 SQL Server 별칭 설정 및 사용 jevida(강성욱) 2016.09.13 2722
1691 SQL Server에 연결된 어플리케이션 드라이버 버전 확인 jevida(강성욱) 2016.09.13 894
1690 SQL Server 성능 대시보드 jevida(강성욱) 2016.09.13 2244
1689 SSMS를 이용한 데이터베이스 복사 하기 jevida(강성욱) 2016.09.13 11735
1688 SQL Server에서 DB2 링크드 서버 연결 방법 jevida(강성욱) 2016.09.13 3321
1687 SQL Server 인덱스 활성 / 비활성 하기 jevida(강성욱) 2016.09.13 2403
1686 파티션 오프셋과 SQL Server에 대한 디스크 할당 단위 크기 jevida(강성욱) 2016.09.13 1709
1685 Read the End of a Large Error Log (에러로그 끝 부분 읽기) jevida(강성욱) 2016.09.13 1310
1684 데이터베이스 여유공간 확인 jevida(강성욱) 2016.09.13 1453
1683 FILE GROUP 간 데이터 이동 jevida(강성욱) 2016.09.13 1612
1682 문서화 되지 않은 sys.fn_PhysLocFormatter 함수 jevida(강성욱) 2016.09.13 969
1681 SQL Server 관리자 전용 연결(DAC) jevida(강성욱) 2016.09.13 3437
1680 파일 접근 권한으로 인한 DB복원 실패 작업 해결하기 jevida(강성욱) 2016.09.13 1994
1679 DBCC CHECKDB 실행과 히스토리 관리 jevida(강성욱) 2016.09.13 1858
1678 MDF를 이용한 데이터베이스 복원 jevida(강성욱) 2016.09.13 1183
1677 EventID 3041 Error jevida(강성욱) 2016.09.13 1439
1676 데이터베이스 미러 백업 jevida(강성욱) 2016.09.13 1324
1675 SNAPSHOT을 이용한 SQL Server 복원 jevida(강성욱) 2016.09.13 2442
1674 복사 전용 백업(COPY ONLY BACKUP) jevida(강성욱) 2016.09.13 3578





XE Login