Conectar una instancia con nombre de MS-SQL

Microsoft SQL Server (MS-SQL) tiene una función llamada instancias con nombre. Esta función te permite ejecutar varias bases de datos en el mismo host (o en hosts agrupados) con ajustes independientes. Cada instancia de base de datos se ejecuta en su propio puerto. Sin embargo, cuando se usan clientes compatibles con MS-SQL que se ejecutan en Windows, se puede conectar por nombre en lugar de por número de puerto. Por ejemplo, si tu nombre de host es dbserver y tu instancia se llama proddb, te conectarías con el nombre de host dbserver\proddb.

Cómo se conectan las instancias con nombre de MS-SQL

  1. Tu cliente se pone en contacto con el host, cuyo nombre se indica en el puerto predeterminado de MS-SQL (1433).
  2. MS-SQL responde con el puerto de la instancia con nombre.
  3. A continuación, el cliente se conecta a ese puerto.

Looker no podrá encontrar el número de puerto de una instancia con nombre de esta forma. Una vez que Looker se conecta a un puerto, espera poder ejecutar consultas y no se conectará a ningún otro puerto.

Cómo conectar una instancia con nombre de MS-SQL con Looker

MS-SQL elige un puerto aleatorio al iniciarse. Para que Looker se conecte a una instancia con nombre de MS SQL, debes buscar el puerto en el que se está ejecutando la instancia con nombre:

  • En el artículo SQL Server — Finding TCP Port Number SQL Instance Is Listening On (SQL Server: cómo encontrar el número de puerto TCP en el que está escuchando la instancia de SQL) se explica cómo encontrar el puerto. Aunque el artículo es del 2012, el procedimiento es similar en las distintas versiones de MS-SQL.
  • Una vez que hayas encontrado el puerto, puedes introducir su nombre en el campo Host:Port de la configuración de conexión de la base de datos de Looker. Por ejemplo, si el puerto es 61499 y el host se llama dbserver, la conexión en Looker será la siguiente:

      host: dbserver
      port: 61499
  • NOTA: El nombre de host de la base de datos no tendrá el formato dbserver\proddb, como ocurriría si te conectaras por el nombre de la instancia.
  • Es importante tener en cuenta que MS-SQL puede elegir un puerto diferente para la instancia con nombre cada vez que se reinicie el servidor. Para ello, es posible que MS-SQL tenga que cambiar las reglas del cortafuegos y volver a configurar Looker para que use el nuevo puerto. Para evitar que cambien los puertos, puedes asignar un puerto estático a tu instancia con nombre. Consulta el artículo Cómo asignar un puerto estático a una instancia con nombre de SQL Server y evitar un error habitual para obtener más información sobre el proceso.