SQL 서버의 데이터베이스 엔진과 응용 어플리케이션(=SQL 네이티브 드라이버, OLEDB 드라이버 등)이 서로 통신할 때에는 TDS(Tabular Data Stream)라는 통신 형식을 사용합니다. 프로토콜이라고 할 수도 있고, 아닐 수도 있는데, TCP/IP와 같은 프로토콜 내에 캡슐화되어 내장되는 형식이므로 predefine된 메시지라고 보는 것이 좀 더 정확할 수 있겠습니다. 어쨌든, TCP/IP 혹은 Named Pipe(명명된 파이프)와 같은 방법으로 SQL 서버에 연결했을 때, 쿼리문 등의 처리가 이 TDS 형식으로 전달됩니다. 서버에는 TDS Endpoint(listening port와 비슷한 개념으로 생각하시면 되겠네요)가 생성되고, 서버/클라이언트의 Net-Library를 통해 서로 통신을 하게 됩니다. Endpoint의 종류는 다음과 같습니다 :
TDS는 마이크로소프트의 독점적인 기술이기 때문에(당연하죠!) 윈도우 외의 환경에서는 TDS를 사용할 수 없습니다. 하지만, 이 TDS에 대해서 리버스 엔지니어링을 통해 TDS를 분석하고, 그 분석 결과와 기타 라이브러리를 공개하고 있는 프로젝트가 있습니다. freetds가 이 프로젝트의 이름입니다 : http://www.freetds.org/ 현재는 C, JAVA로 된 라이브러리와 기타 결과들이 공개되어 있습니다. 또한, MSDN Blog에 SQL 서버에서 쓰이는 프로토콜과 관련된 논의가 올라오는 곳이 있습니다 : SQL Protocols http://blogs.msdn.com/sql_protocols/default.aspx SQL 서버의 네트워크 프로토콜에 관심이 있다면 살펴볼만한 가치가 있습니다. |
'BI, DB, DW > SQL Server' 카테고리의 다른 글
WMI Code Creator v1.0 (0) | 2007.07.02 |
---|---|
SQL Server의 새로운 버전, SQL Server 2008 June CTP와 샘플 파일 다운로드 (0) | 2007.06.12 |
SQL Server의 버전 확인 (0) | 2007.04.03 |
SQL Server 2005 포켓 가이드북 링크 (0) | 2007.03.29 |
개발자를 위한 SQL Server 2005 Quickstart (0) | 2007.03.26 |