SQL 서버 데이터베이스 엔진에 클라이언트가 연결하기 위해서는 네트워크 프로토콜을 사용해야 합니다. SQL 서버에서는 동시에 여러 프로토콜에서 오는 요청을 처리할 수 있는데, 클라이언트는 단일 프로토콜을 사용하여 SQL 서버에 연결합니다. SQL 서버는 클라이언트가 사용한 프로토콜을 알 수 없을 때는 서버에서 사용할 수 있는 프로토콜을 하나씩 순서대로 시도해 클라이언트의 연결을 돕습니다. SQL 서버가 지원하는 프로토콜은 네 개이며 다음과 같습니다.
1. 공유 메모리(기본)
공유 메모리는 가장 간단한 프로토콜이며 구성 가능한 설정이 없습니다. 공유 메모리 프로토콜을 사용하는 클라이언트는 동일한 컴퓨터에서 실행되는 SQL 서버 인스턴스에만 연결이 가능하여 대부분의 데이터베이스 작업에는 유용하지 않습니다. 하지만 다른 프로토콜이 제대로 구성되지 않는 것으로 의심되는 경우 문제 해결을 위해 공유 메모리 프로토콜을 사용합니다.
2, TCP/IP
TCP/IP는 인터넷에서 광범위하게 사용되는 일반적인 프로토콜입니다. TCP/IP는 다양한 하드웨어 아키텍처 및 운영체제가 있는 컴퓨터의 상호 연결된 네트워크를 통해 통신을 합니다. TCP/IP는 네트워크 트래픽의 라우팅을 위한 표준을 포함하여 고급 보안 기능을 제공합니다. TCP/IP는 현재 비즈니스에서 가장 많이 사용되는 프로토콜로 외부에서 접근하기 위해서는 반드시 TCP/IP 프로토콜을 사용 가능으로 변경해야 합니다.
3. 명명된 파이프
명명된 파이프는 LAN(Local Area Network)을 위해 개발된 프로토콜입니다. 메모리의 일부는 한 프로세스에서 다른 프로세스로 정보를 전달하는데 사용됩니다. 즉 한 곳의 출력은 다른 곳의 입력이 됩니다.
4. VIA(Virtual Interface Adapter)
VIA(Virtual Interface Adapter) 프로토콜은 VIA 하드웨어와 함게 작동합니다. 따라서 신경쓸 필요가 없습니다.
명명된 파이프 대 TCP/IP
고속 LAN(Local Area Network) 환경에서 TCP/IP 소켓 및 명명된 파이프 클라이언트를 성능 측면에서 비교할 수 있습니다. 그러나 TCP/IP 소켓 및 명명된 파이프 클라이언트 간의 성능 차이는 WAN(Wide Area Network) 또는 전환 접속 네트워크와 같이 느린 네트워크에서 명백하게 드러납니다.
이것은 피어 간 통신에서 사용되는 IPC(Interprocess Communication) 메커니즘의 차이 때문입니다. 명명된 파이프에서 네트워크 통신은 일반적으로 좀 더 대화형입니다. 피어에서는 다른 피어가 읽기 명령으로 요청하기 전에 데이터를 보내지 않습니다. 네트워크 읽기 작업에서는 일반적으로 데이터를 읽기 전에 일련의 명명된 파이프 메시지 파킹이 수행됩니다. 이는 느린 네트워크에서 매우 많은 비용을 소요할 수 있으며 과도한 네트워크 트래픽으로 다른 네트워크 클라이언트에게 영향을 줍니다.
통신의 대상이 로컬 파이프인지 또는 네트워크 파이프인지를 명확하게 하는 것도 중요합니다. 서버 응용 프로그램이 SQL 서버 인스턴스를 실행하는 컴퓨터에서 로컬로 실행되는 경우 로컬 명명된 파이프 프로토콜을 선택할 수 있습니다. 로컬 명명된 파이프는 커널 모드로 실행되며 매우 빠릅니다.
TCP/IP 소켓에서의 데이터 전송은 좀 더 효율적이며 오버헤드도 적습니다. 또한 데이터 전송 시 창 작업, 지연된 승인 등과 같은 TCP/IP 소켓 성능 강화 메커니즘을 사용할 수 있으므로 느린 네트워크에서 특히 유용합니다.
참고) MSSQL 서버 도움말
'MSSQL 2008 > MSSQL 개요 및 설치,설정' 카테고리의 다른 글
인증 - 데이터베이스 엔진의 인증 모드 변경하기 (0) | 2010.11.11 |
---|---|
인증 - 개체 탐색기로 SQL 서버 연결 방법 (0) | 2010.11.11 |
인증 - 데이터베이스 엔진의 두 가지 인증 방법 개요 (0) | 2010.11.10 |
설치 및 설정 - 기본 파일 구조 및 시스템 데이터베이스 (0) | 2010.11.01 |
설치 및 설정 - 인스턴스 삭제 방법 (0) | 2010.11.01 |