@
leyendo...
Tecnología

SQL Server 2012 edición Express y su puerto TCP/IP

En el foro MSDN de SQL Server en español, me encontré recientemente con un par de entradas en donde se requería acceder remotamente a un SQL Server 2012 edición Express instalado en Windows 7 y que esto no se podía hacer.

En principio, recordaba que en esta edición, ya que viene con una instancia nombrada cual es SQLEXPRESS, no se usa el puerto destinado para SQL Server cual es el 1433 y que tal vez se estaba tratando de configurar el Firewall para acceder a un puerto que como es dinámico, hay que averiguar bien cual es. Sin embargo, decidí instalar una MV con Windows 7 edición Enterprise y luego SQL Server 2012 edición Express para investigar y documentar un poco la situación.

Así se ve la instalación que hice de SQL Server 2012 edición Express:

SQL Server 2012 Express SSMS

Si ejecutamos el programa SQL Server Configuration Manager para validar los protocolos habilitados para configuración de red, nos encontramos con esta pantalla:

SQL Server 2012 Express Configuration Manager (1)

Umm, el protocolo para TCP/IP está deshabilitado… Bueno, pareciera tener sentido; es decir, SQL Server 2012 edición Express está hecho para apoyar como base de datos aplicaciones de escritorio, web y de servidores pequeños. Sin embargo, habilitemos el protocolo TCP/IP…

Debe aparecer esta ventana:

SQL Server 2012 Express Configuration Manager (2)

Procedemos entonces con el reinicio del servicio…

Ya se aprecia el protocolo habilitado, como se ve a continuación:

SQL Server 2012 Express Configuration Manager (3)

Y ahora, si damos clic derecho y en el menú de contexto revisamos las propiedades de este protocolo, ya de entrada vemos que, como sospechaba, él está usando un puerto dinámico para trabajar con TCP/IP:

SQL Server 2012 Express Configuration Manager (4)

Como dice en la documentación en línea de SQL Server 2012 para configuración del Firewall Windows para permitir acceso a SQL Server, “las instancias nombradas (incluyendo SQL Server Express) usan puertos dinámicos. Esto significa que cada vez que el motor de base de datos inicia, éste identifica un puerto disponible y usa ese número de puerto. Si la instancia nombrada es la única instancia instalada del motor de base de datos, es probable que use el puerto TCP 1433. Debido a que el puerto seleccionado puede cambiar cada vez que el motor de base de datos inicie, es dificil configurar el Firewall de Windows para habilitar cada vez el acceso al puerto correcto”.

Mi recomendación es que el número de puerto asignado para la instancia nombrada lo vuelvan fijo o estático siguiendo los pasos de la documentación en línea, Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager), o este artículo de la base de soporte Microsoft, How to configure SQL Server to listen on a specific port. ¿Qué por qué? Porque si a futuro requieren configurar un SQL Server cuya edición no sea Express y necesitan trabajar con la instancia por omisión, es mejor que a ésta le dejen asignado el puerto 1433 con el que trabaja.

Saludos.

Comentarios

Un comentario en “SQL Server 2012 edición Express y su puerto TCP/IP

  1. Excelente post Guillermo. Saludos

    Publicado por Eduardo | febrero 18, 2013, 9:34 AM

Categorías

Archivos

A %d blogueros les gusta esto: