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 en clústeres) con parámetros de configuración 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, puedes conectarte 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ás con el nombre de host dbserver\proddb
.
Cómo se conectan las instancias con nombre de MS-SQL
- Tu cliente se comunica con el host, que se nombra en el puerto MS-SQL predeterminado (1433).
- MS-SQL responde con el puerto de la instancia nombrada.
- Luego, el cliente se conecta a ese puerto.
De esta manera, Looker no podrá encontrar el número de puerto de una instancia con nombre. Una vez que Looker se conecta a un puerto, espera poder ejecutar consultas y no se conectará con ningún otro puerto.
Cómo conectar una instancia nombrada de MS-SQL con Looker
MS-SQL elige un puerto aleatorio durante el inicio. Para que Looker se conecte a una instancia nombrada de MS-SQL, deberás encontrar el puerto en el que se ejecuta la instancia nombrada:
- En el artículo SQL Server: Finding TCP Port Number SQL Instance Is Listening On, se detalla el método para encontrar el puerto. Aunque el artículo es de 2012, el procedimiento es similar en las distintas versiones de MS-SQL.
-
Una vez que encuentres el puerto, puedes ingresar 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 es61499
y el host se llamadbserver
, la conexión en Looker se verá de la siguiente manera:host: dbserver port: 61499
- es importante tener en cuenta que MS-SQL puede elegir un puerto diferente para la instancia nombrada cada vez que se reinicia el servidor. Esto podría requerir que MS-SQL cambie las reglas del firewall y reconfigure Looker para usar el nuevo puerto. Para evitar que cambien los puertos, puedes asignar un puerto estático a tu instancia con nombre. Consulta Cómo asignar un puerto estático a una instancia con nombre de SQL Server y evitar un error común para obtener detalles sobre el proceso.
NOTA: El nombre de host de la base de datos no tendrá el formato dbserver\proddb
, como lo haría si te conectaras por el nombre de la instancia.