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 - 查找 TCP 端口号 SQL Instance Is Listening On 一文详细介绍了查找该端口的方法。虽然本文是 2012 年发布的,但不同版本的 MS-SQL 的过程是类似的。
-
找到端口后,您可以在 Looker 的数据库连接配置的
Host:Port
字段中输入端口名称。例如,如果端口为61499
,主机名称为dbserver
,则 Looker 中的连接将如下所示:host: dbserver port: 61499
- 请务必注意,每当服务器重新启动时,MS-SQL 都可能会为命名实例选择其他端口。这可能需要 MS-SQL 更改防火墙规则,并重新配置 Looker 以使用新端口。为避免端口发生变化,您可以选择为命名实例分配静态端口;如需详细了解该过程,请参阅如何向 SQL Server 命名实例分配静态端口 - 并避免常见错误。
注意:数据库主机名不会采用 dbserver\proddb
格式,这与您通过实例名称进行连接的情况相同。