none
Varias instancias de SQL Server - Puertos RRS feed

  • Debate general

  • Estimados

    Tengo un servidor con 4 instancias de SQL Server Express donde se encuentran distribuidas diversas bases de datos de clientes.

    Lo hicimos así para aprovechar mejor las capacidades del servidor atento a las limitaciones de memoria y procesador de la versión Express

    Mi duda es la siguiente: Si es conveniente que cada instancia tenga asignado un puerto diferente o pueden todas funcionar en el mismo puerto si problemas.

    Muchas gracias


    dario

    jueves, 11 de junio de 2020 23:57

Todas las respuestas

  • Hola dario1429:

    Las instancias con nombre escuchan en puertos dinámicos. Esto se gestiona a través del Servicio SQL Browser

    Si observas la configuración de red de cada una de ellas, observarás que no disponen de un puerto asignado.

    Dentro del configuration manager 

    En la imagen hay dos instancias corriendo (SQL2019 - SQLEXPRESS)

    En el árbol de la izquierda en configuración de red de SQL Server para cada uno de las dos, en el protocolo TCP/IP, si lo abres, observarás la gestión de puertos realizada.

    En el caso de la imagen, como se observa, es dinámica, y ahora mismo, con ese puerto.

    Puedes ponerla como estática, pero 1 instancia = 1 puerto.

    viernes, 12 de junio de 2020 4:47
  •  Si es conveniente que cada instancia tenga asignado un puerto diferente o pueden todas funcionar en el mismo puerto si problemas.

    Forzosamente tienen que tener un puerto diferente. No pueden funcionar dos instancias en el mismo puerto.

    De manera predeterminada, ese "puerto diferente" se asigna dinámicamente durante el inicio, y cada instancia "escoge" un puerto distinto. Cuando un cliente se conecta, utiliza el servicio SQL Browser (que es único para todas las instancias y siempre escucha en el puerto 1434) para resolver cuál es el puerto que en ese momento está configurado para la instancia deseada, y a continuación se conecta a ese puerto.

    Esto tiene algunos inconvenientes, por ejemplo, si necesitas abrir los puertos en un cortafuegos no puedes hacerlo porque el puerto no es fijo. En estos casos, puede interesarte asignar a cada instancia un puerto fijo en lugar de variable. Otra ventaja de asignar un puerto fijo es que puedes prescindir del servicio Browser a cambio de indicarles a los clientes el puerto de la instancia en la cadena de conexión.

    viernes, 12 de junio de 2020 7:14