드라이버는 go-mssqldb SQL Server에 연결하기 위한 여러 전송 프로토콜을 지원합니다. 이 글에서는 각 프로토콜과 그것을 어떻게 구성하는지 설명합니다.
프로토콜 매개변수
연결 매개변수를 protocol 전송 방식을 지정하도록 설정하세요:
| 가치 | Protocol | Description |
|---|---|---|
tcp |
TCP/IP | 기본 프로토콜. 모든 플랫폼에서 작동합니다. |
np |
명명된 파이프 | Windows 프로세스 간 통신. Windows와 Linux(SMB 사용)에서 작동합니다. |
lpc |
공유 메모리 | Windows에서만 로컬 연결. |
admin |
DAC (TCP) | 전용 관리자 연결. DAC 엔드포인트에 연결됩니다. |
만약 a protocol를 지정하지 않으면 드라이버는 TCP를 사용합니다.
TCP/IP
TCP는 기본이자 가장 일반적인 프로토콜입니다. 연결 문자열에서 호스트와 포트를 지정하세요:
sqlserver://<user>:<password>@<server>:1433?database=AdventureWorks2025
또는 명시적으로:
sqlserver://<user>:<password>@<server>:1433?database=AdventureWorks2025&protocol=tcp
서버 접두사 형식
서버 이름에 접두사로 프로토콜을 지정할 수도 있습니다(ADO/ODBC 형식):
server=tcp:<server>,1433;user id=<user>;password=<password>;database=AdventureWorks2025
Note
ADO 접두사 형식에서는 포트가 콜론이 아닌 쉼표로 구분됩니다.
명명된 파이프
이름 있는 파이프는 이 프로토콜을 np 사용합니다. 파이프 경로를 다음과 같은 매개변수로 pipe 지정합니다:
sqlserver://<user>:<password>@<server>?database=AdventureWorks2025&protocol=np&pipe=\sql\query
또는 서버 접두사 형식을 사용하세요:
server=np:<server>\myinstance;user id=<user>;password=<password>;database=AdventureWorks2025
기본 파이프 이름은 기본 인스턴스용입니다 \sql\query .
현재 드라이버 릴리스는 Windows for Arm64에서 명명된 파이프 연결을 지원하며, Windows와 Linux에서 SMB를 통해 파이프를 노출하는 x86-64 환경을 지원합니다.
명명된 인스턴스 파이프 이름
명명된 인스턴스의 경우, 파이프 경로는 일반적으로 \MSSQL$INSTANCENAME\sql\query입니다. 파이프 경로를 알고 있다면 직접 명시하세요. 그렇지 않으면 매개변수를 pipe 생략하고 SQL Server 브라우저가 해결하도록 하세요.
공유 메모리
공유 메모리(lpc)는 Windows에서 로컬 연결을 위한 가장 빠른 통신을 제공합니다. 클라이언트와 서버가 같은 기기에 있을 때만 작동합니다:
sqlserver://<user>:<password>@localhost?database=AdventureWorks2025&protocol=lpc
또는 서버 접두사를 사용하기도 합니다:
server=lpc:.\myinstance;user id=<user>;password=<password>;database=AdventureWorks2025
Note
공유 메모리는 리눅스나 macOS에서 제공되지 않습니다.
전용 관리자 연결(DAC)
DAC는 서버가 응답하지 않을 때 SQL Server에 특별한 진단 연결을 제공합니다. DAC는 전용 포트(기본값: 1434 기본 인스턴스)에서 청취합니다:
sqlserver://<user>:<password>@<server>?database=AdventureWorks2025&protocol=admin
또는 서버 접두사를 사용하기도 합니다:
server=admin:<server>;user id=<user>;password=<password>;database=AdventureWorks2025
Warning
SQL Server는 한 번에 하나의 DAC 연결만 허용합니다. DAC는 비상 진단에만 사용하세요.
SQL Server 브라우저
드라이버가 지정된 포트가 없는 명명 인스턴스에 연결하면, SQL Server 브라우저 서비스(UDP 포트 1434)에 연락하여 인스턴스를 TCP 포트로 해석합니다. 대상 머신에서 SQL Server 브라우저 서비스가 실행되고 있는지 확인하세요.
sqlserver://<user>:<password>@<server>\myinstance?database=AdventureWorks2025
프로토콜 선택 지침
| 시나리오 | 권장 프로토콜 |
|---|---|
| 원격 연결 | tcp |
| Windows의 로컬 연결 |
lpc (가장 빠름) 또는 tcp |
| 크로스 플랫폼 애플리케이션 | tcp |
| 응급 진단 | admin |
| 이름 있는 파이프가 필요한 레거시 애플리케이션 | np |