连接 MS-SQL 命名实例

Microsoft SQL Server (MS-SQL) 具有一项名为命名实例的功能。借助此功能,您可以使用单独的设置在同一主机(或集群主机)上运行多个数据库。每个数据库实例都在自己的端口上运行。不过,使用在 Windows 上运行的 MS-SQL 感知客户端时,您可以按名称(而非端口号)进行连接。例如,如果您的主机名为 dbserver,实例名为 proddb,则您应使用主机名 dbserver\proddb 进行连接。

MS-SQL 命名实例如何连接

  1. 您的客户端将联系在默认 MS-SQL 端口 (1433) 上命名的主机。
  2. MS-SQL 会使用指定实例的端口进行响应。
  3. 然后,客户端会连接到该端口。

Looker 将无法通过这种方式找到命名实例的端口号。Looker 连接到某个端口后,预计将能够运行查询,并且不会连接到任何其他端口。

如何将 MS-SQL 命名实例与 Looker 连接

MS-SQL 会在启动时选择一个随机端口。为了让 Looker 连接到 MS-SQL 命名实例,您需要找到运行命名实例的端口:

  • SQL Server - 查找 TCP 端口号 SQL Instance Is Listening On 一文详细介绍了查找该端口的方法。虽然本文是 2012 年发布的,但不同版本的 MS-SQL 的过程是类似的。
  • 找到端口后,您可以在 Looker 的数据库连接配置的 Host:Port 字段中输入端口名称。例如,如果端口为 61499,主机名称为 dbserver,则 Looker 中的连接将如下所示:

      host: dbserver
      port: 61499
  • 注意:数据库主机名不会采用 dbserver\proddb 格式,这与您通过实例名称进行连接的情况相同。
  • 请务必注意,每当服务器重新启动时,MS-SQL 都可能会为命名实例选择其他端口。这可能需要 MS-SQL 更改防火墙规则,并重新配置 Looker 以使用新端口。为避免端口发生变化,您可以选择为命名实例分配静态端口;如需详细了解该过程,请参阅如何向 SQL Server 命名实例分配静态端口 - 并避免常见错误