Microsoft SQL Server(MS-SQL)에는 이름이 지정된 인스턴스라는 기능이 있습니다. 이 기능을 사용하면 별도의 설정으로 동일한 호스트(또는 클러스터링된 호스트)에서 여러 데이터베이스를 실행할 수 있습니다. 각 데이터베이스 인스턴스는 자체 포트에서 실행됩니다. 그러나 Windows에서 실행되는 MS-SQL 인식 클라이언트를 사용하는 경우 포트 번호 대신 이름으로 연결할 수 있습니다. 예를 들어 호스트 이름이 dbserver
이고 인스턴스 이름이 proddb
라면 호스트 이름 dbserver\proddb
를 사용하여 연결할 수 있습니다.
MS-SQL이라는 이름의 인스턴스 연결 방법
- 클라이언트가 기본 MS-SQL 포트(1433)에서 이름이 지정된 호스트에 접속합니다.
- MS-SQL에서 이름이 지정된 인스턴스의 포트로 응답합니다.
- 이후 클라이언트가 해당 포트에 연결됩니다.
이런 식으로 Looker는 이름이 지정된 인스턴스의 포트 번호를 찾을 수 없습니다. Looker가 포트에 연결되면 쿼리를 실행할 수 있을 것으로 예상되며 다른 포트와 연결되지 않습니다.
MS-SQL이라는 인스턴스를 Looker와 연결하는 방법
MS-SQL은 시작 시 임의의 포트를 선택합니다. Looker에서 MS-SQL이라는 인스턴스에 연결하려면 이름이 지정된 인스턴스가 실행 중인 포트를 찾아야 합니다.
- SQL Server — SQL 인스턴스가 리슨하는 TCP 포트 번호 찾기 문서에서는 포트를 찾는 방법을 자세히 설명합니다. 이 문서는 2012년에 작성된 문서이지만 이 절차는 여러 버전의 MS-SQL에서 비슷합니다.
-
포트를 찾으면 Looker 데이터베이스 연결 구성의
Host:Port
필드에 포트 이름을 입력할 수 있습니다. 예를 들어 포트가61499
이고 호스트 이름이dbserver
인 경우 Looker의 연결은 다음과 같습니다.host: dbserver port: 61499
- MS-SQL은 서버가 재부팅될 때마다 이름이 지정된 인스턴스에 다른 포트를 선택할 수 있습니다. 이 경우 MS-SQL에서 방화벽 규칙을 변경하고 새 포트를 사용하도록 Looker를 다시 구성해야 할 수 있습니다. 포트가 변경되지 않도록 하려면 이름이 지정된 인스턴스에 정적 포트를 할당하도록 선택할 수 있습니다. 프로세스에 대한 자세한 내용은 SQL Server 이름이 지정된 인스턴스에 정적 포트를 할당하는 방법 및 일반적인 실수 방지하기를 참조하세요.
참고: 데이터베이스 호스트 이름은 인스턴스 이름으로 연결하는 경우처럼 dbserver\proddb
형식을 사용하지 않습니다.