SQL Server/SQL Server Tip

SQL Server Net Libraries

SungWookKang 2015. 7. 17. 10:24
반응형

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 및 명명된 파이프만 지원한다.

 

2012-12-13 / 강성욱 / http://sqlmvp.kr

 

반응형