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

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

SQL Server Net Libraries

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

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
1711 세션에 따른 캐시된 쿼리 플랜 설정 확인 jevida(강성욱) 2016.09.13 866
1710 SQL Server 특정 세션에 대한 마지막 실행 문장 확인 jevida(강성욱) 2016.09.13 713
1709 DMV - 데이터베이스 버퍼 메모리 사용량 확인 jevida(강성욱) 2016.09.13 2984
1708 Sys.dm_fts_parser을 이용한 문자열 구문 분석 jevida(강성욱) 2016.09.13 1291
1707 DMV에서 SQL Server 리소스 데이터베이스 값 jevida(강성욱) 2016.09.13 1063
1706 키워드로 PROCEDURE, FUNCTION 찾기 jevida(강성욱) 2016.09.13 1565
1705 BCP 사용 jevida(강성욱) 2016.09.13 3380
1704 DATEADD를 사용한 날짜 추가 및 빼기 jevida(강성욱) 2016.09.13 1153
1703 Change Data Capture(CDC) – 변경 이력 추적 jevida(강성욱) 2016.09.13 2474
1702 SSMS 에서 디버깅 하기 jevida(강성욱) 2016.09.13 7078
1701 CLR 등록 및 활성화 하기 jevida(강성욱) 2016.09.13 1565
1700 SQL Server 확장 이벤트를 사용한 Tempdb 병목현상 추적 jevida(강성욱) 2016.09.13 1609
1699 MAXDOP 설정 jevida(강성욱) 2016.09.13 1796
1698 SQL Server 이름 변경 하기 jevida(강성욱) 2016.09.13 1575
1697 SQL Server 마지막 시작 시간 확인 하기 jevida(강성욱) 2016.09.13 702
1696 여러 포트를 사용하도록 SQL Server 구성 jevida(강성욱) 2016.09.13 1812
1695 SQL Server가 사용중인 TCP/IP 포트 확인 jevida(강성욱) 2016.09.13 10929
1694 SQL Server SP_Congifure 변경 사항 캡처 jevida(강성욱) 2016.09.13 2061
» SQL Server Net Libraries jevida(강성욱) 2016.09.13 1109
1692 SQL Server 별칭 설정 및 사용 jevida(강성욱) 2016.09.13 2647





XE Login