명명된 파이프를 사용하여 유효한 연결 문자열 만들기
사용자가 변경하지 않으면 Microsoft SQL Server의 기본 인스턴스는 \\.\pipe\sql\query
를 파이프 이름으로 사용하는 명명된 파이프 프로토콜에서 수신합니다. 마침표는 컴퓨터가 로컬 컴퓨터임을 나타내고 pipe
는 연결이 명명된 파이프임을 나타내며 sql\query
는 파이프의 이름입니다. 기본 파이프에 연결하려면 별칭의 파이프 이름으로 \\<computer_name>\pipe\sql\query
를 지정해야 합니다. 다른 파이프에서 수신하도록 SQL Server를 구성한 경우 파이프 이름으로 해당 파이프를 사용해야 합니다. 예를 들어 SQL Server가 \\.\pipe\unit\app
를 파이프로 사용하는 경우 별칭의 파이프 이름은 \\<computer_name>\pipe\unit\app
여야 합니다.
올바른 파이프 이름을 만들려면 다음을 수행해야 합니다.
- 별칭을 지정합니다.
- 명명된 파이프를 프로토콜로 선택합니다.
- 파이프 이름을 입력합니다. 또는 파이프 이름을 비워 놓을 수 있습니다. 이 경우 프로토콜과 서버를 지정하면 SQL Server 구성 관리자에서 적절한 파이프 이름을 완성합니다.
- 서버를 지정합니다. 명명된 인스턴스의 경우 서버 이름과 인스턴스 이름을 제공할 수 있습니다.
연결할 때 SQL 네이티브 클라이언트 구성 요소는 지정한 별칭 이름에 대한 서버, 프로토콜 및 파이프 이름 값을 레지스트리에서 읽어온 후 np:\\<computer_name>\pipe\<pipename>
또는 np:\\<IPAddress>\pipe\<pipename>
형식으로 파이프 이름을 만듭니다. 명명된 인스턴스의 경우 기본 파이프 이름은 \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query
입니다.
[!참고] Microsoft Windows XP 서비스 팩 2는 Windows 방화벽을 설정하며 이 경우 기본적으로 포트 445가 닫힙니다. Microsoft SQL Server는 포트 445에서 통신하므로 SQL Server가 명명된 파이프를 사용하여 들어오는 클라이언트 연결을 수신하도록 구성된 경우 이 포트를 다시 열어야 합니다. 방화벽을 구성하는 방법은 SQL Server 온라인 설명서의 "방법: SQL Server 액세스를 허용하도록 방화벽 구성"을 참조하거나 해당 방화벽 설명서를 검토하십시오.
로컬 서버에 연결
클라이언트와 동일한 컴퓨터에서 실행되는 SQL Server에 연결할 때는 서버 이름으로 (local)
****을 사용할 수 있습니다. (local)
을 사용하면 모호해질 수 있으므로 권장되지는 않지만 클라이언트가 어떤 컴퓨터에서 실행될지 알고 있는 경우에는 유용할 수 있습니다. 예를 들어 영업 사원과 같이 네트워크에 연결되지 않은 모바일 사용자를 위해 응용 프로그램을 만들 때 SQL Server가 랩톱 컴퓨터에서 실행되고 프로젝트 데이터를 저장하는 경우 (local)에 연결하는 클라이언트는 항상 랩톱에서 실행되는 SQL Server에 연결됩니다. localhost
라는 단어나 마침표(.)를 (local)
대신 사용할 수 있습니다.
연결 프로토콜 확인
다음 쿼리는 현재 연결에 사용된 프로토콜을 반환합니다.
SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
예
서버 이름으로 기본 파이프에 연결
Alias Name <serveralias>
Pipe Name <blank>
Protocol Named Pipes
Server <servername>
IP 주소로 기본 파이프에 연결
Alias Name <serveralias>
Pipe Name <leave blank>
Protocol Named Pipes
Server <IPAddress>
서버 이름으로 기본이 아닌 파이프에 연결
Alias Name <serveralias>
Pipe Name \\<servername>\pipe\unit\app
Protocol Named Pipes
Server <servername>
서버 이름으로 명명된 인스턴스에 연결
Alias Name <serveralias>
Pipe Name \\<servername>\pipe\MSSQL$<instancename>\SQL\query
Protocol Named Pipes
Server <servername>
localhost
를 사용하여 로컬 컴퓨터에 연결
Alias Name <serveralias>
Pipe Name <blank>
Protocol Named Pipes
Server localhost
마침표를 사용하여 로컬 컴퓨터에 연결
Alias Name <serveralias>
Pipe Name <left blank>
Protocol Named Pipes
Server .
[!참고] 네트워크 프로토콜을 sqlcmd 매개 변수로 지정하려면 SQL Server 온라인 설명서의 "방법: sqlcmd.exe를 사용하여 데이터베이스 엔진에 연결"을 참조하십시오.
참고 항목
참조
공유 메모리 프로토콜을 사용하여 유효한 연결 문자열 만들기
TCP/IP를 사용하여 유효한 연결 문자열 만들기
VIA 프로토콜을 사용하여 유효한 연결 문자열 만들기