다음을 통해 공유


sqlcmd를 사용하여 데이터베이스 엔진에 연결

SQL Server 는 TCP/IP 네트워크 프로토콜(기본값) 및 명명된 파이프 프로토콜을 통한 클라이언트 통신을 지원합니다. 클라이언트가 동일 컴퓨터의 데이터베이스 엔진 인스턴스에 연결하고 있는 경우 공유 메모리 프로토콜도 사용할 수 있습니다. 일반적으로 프로토콜을 선택하는 방법에는 3가지가 있습니다. sqlcmd 유틸리티에서 사용하는 프로토콜은 다음과 같은 순서로 결정됩니다.

  • sqlcmd 는 다음 설명과 같이 연결 문자열의 일부로 지정된 프로토콜을 사용합니다.

  • 프로토콜을 연결 문자열의 일부로 지정하지 않으면 sqlcmd 는 연결하고 있는 별칭의 일부로 정의된 프로토콜을 사용합니다. 별칭을 만들어 특정 네트워크 프로토콜을 사용하도록 sqlcmd를 구성하려면 클라이언트에서 사용할 서버 별칭 만들기 또는 삭제(SQL Server 구성 관리자)를 참조하세요.

  • 기타 다른 방법으로 프로토콜을 지정하지 않으면 sqlcmd 는 SQL Server 구성 관리자에서 프로토콜 순서에 따라 결정되는 네트워크 프로토콜을 사용합니다.

다음 예에서는 포트 1433에서 데이터베이스 엔진 의 기본 인스턴스에 연결하고 포트 1691에서 수신하는 데이터베이스 엔진 의 명명된 인스턴스에 연결하는 여러 가지 방법을 보여 줍니다. 일부 예에서는 루프백 어댑터의 IP 주소(127.0.0.1)를 사용합니다. 컴퓨터의 네트워크 인터페이스 카드의 IP 주소를 사용하여 테스트합니다.

인스턴스 이름을 지정하여 데이터베이스 엔진 에 연결합니다.

sqlcmd -S ComputerA  
sqlcmd -S ComputerA\instanceB  

IP 주소를 지정하여 데이터베이스 엔진 에 연결합니다.

sqlcmd -S 127.0.0.1  
sqlcmd -S 127.0.0.1\instanceB  

TCP\IP 포트 번호를 지정하여 데이터베이스 엔진 에 연결합니다.

sqlcmd -S ComputerA,1433  
sqlcmd -S ComputerA,1691  
sqlcmd -S 127.0.0.1,1433  
sqlcmd -S 127.0.0.1,1691  

TCP/IP를 사용하여 연결하려면

  • 다음 일반 구문을 사용하여 연결합니다.

    sqlcmd -S tcp:<computer name>,<port number>  
    
  • 기본 인스턴스에 연결합니다.

    sqlcmd -S tcp:ComputerA,1433  
    sqlcmd -S tcp:127.0.0.1,1433  
    
  • 명명된 인스턴스에 연결합니다.

    sqlcmd -S tcp:ComputerA,1691  
    sqlcmd -S tcp:127.0.0.1,1691  
    

명명된 파이프를 사용하여 연결하려면

  • 다음 일반적인 구문 중 하나를 사용하여 연결합니다.

    sqlcmd -S np:\\<computer name>\<pipe name>  
    
  • 기본 인스턴스에 연결합니다.

    sqlcmd -S np:\\ComputerA\pipe\sql\query  
    sqlcmd -S np:\\127.0.0.1\pipe\sql\query  
    
  • 명명된 인스턴스에 연결합니다.

    sqlcmd -S np:\\ComputerA\pipe\MSSQL$<instancename>\sql\query  
    sqlcmd -S np:\\127.0.0.1\pipe\MSSQL$<instancename>\sql\query  
    

서버에 있는 클라이언트에서 공유 메모리(로컬 프로시저 호출)를 사용하여 연결하려면

  • 다음 일반적인 구문 중 하나를 사용하여 연결합니다.

    sqlcmd -S lpc:<computer name>  
    
  • 기본 인스턴스에 연결합니다.

    sqlcmd -S lpc:ComputerA  
    
  • 명명된 인스턴스에 연결합니다.

    sqlcmd -S lpc:ComputerA\<instancename>