명명된 파이프를 사용하여 유효한 연결 문자열 만들기

사용자가 변경하지 않는 한 Microsoft SQL Server 기본 instance 명명된 파이프 프로토콜에서 수신 대기하는 경우 를 파이프 이름으로 사용합니다\\.\pipe\sql\query. 마침표는 컴퓨터가 로컬 컴퓨터임을 나타내고 pipe 는 연결이 명명된 파이프임을 나타내며 sql\query 는 파이프의 이름입니다. 기본 파이프에 연결하려면 별칭의 파이프 이름으로 \\<computer_name>\pipe\sql\query 를 지정해야 합니다. SQL Server 다른 파이프에서 수신 대기하도록 구성된 경우 파이프 이름은 해당 파이프를 사용해야 합니다. instance 경우 SQL Server 파이프로 를 사용하는 \\.\pipe\unit\app 경우 별칭은 파이프 이름으로 를 사용해야 \\<computer_name>\pipe\unit\app 합니다.

올바른 파이프 이름을 만들려면 다음을 수행해야 합니다.

  • 별칭을 지정합니다.

  • 명명된 파이프프로토콜로 선택합니다.

  • 파이프 이름을 입력합니다. 또는 파이프 이름을 비워 둘 수 있으며 SQL Server 구성 관리자 프로토콜서버를 지정한 후 적절한 파이프 이름을 완료합니다.

  • 서버를 지정합니다. 명명된 인스턴스의 경우 서버 이름과 인스턴스 이름을 제공할 수 있습니다.

연결 시 SQL Server Native Client 구성 요소는 지정된 별칭 이름에 대한 레지스트리에서 서버, 프로토콜 및 파이프 이름 값을 읽고 또는 np:\\<IPAddress>\pipe\<pipename>형식 np:\\<computer_name>\pipe\<pipename> 으로 파이프 이름을 만듭니다. 명명된 instance 기본 파이프 이름은 입니다\\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

참고

Microsoft Windows 방화벽은 기본적으로 포트 445를 닫습니다. MicrosoftSQL 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를 사용하여 유효한 연결 문자열 만들기
네트워크 프로토콜 선택