Ir al contenido principal

¿En qué puerto TCP escucha SQL Server 2005? ¿Cómo cambiar o configurar el puerto TCP de escucha de una Instancia de SQL Server 2005?

Una buena práctica inmediatamente después de instalar SQL Server 2005 es cambiar el Puerto TCP de escucha, por múltiples motivos: Seguridad, Configuración de reglas de acceso de Firewall, Aplicaciones cliente que requieren un puerto TCP estático para SQL Server, etc. En este Artículo se explica cómo averiguar en qué puerto TCP escucha SQL Server 2005, cómo cambiar el puerto TCP de escucha de SQL Server 2005, etc.

Resulta de gran interés ser capaz de responder a la pregunta ¿En qué puerto TCP escucha SQL Server? Por defecto, una Instancia por Defecto de SQL Server 2005 queda configurada durante la instalación para escuchar en el puerto TCP-1433, sin embargo, las Instancias con Nombre quedan configuradas durante el proceso de instalación para escuchar en puertos TCP dinámicos, por lo tanto, cada vez que se inicie la Instancia puede que escuche en un puerto diferente. Esta situación puede resultar problemática, por un lado desde el punto de vista de la seguridad (el hecho de escuchar en un puerto TCP fácilmente predecible, puede facilitar la existencia de ataques informáticos), y por otro lado porque algunas aplicaciones que se conectan a SQL Server requieren que se les facilite el puerto TCP en el que escucha la instancia de SQL Server. Por poner algún ejemplo de aplicaciones conocidas que requieren que se les especifique de forma explícita el puerto TCP en el que escucha SQL Server, podría poner aCognos y a Informática PowerCenter (al menos, en el caso de Informática PowerCenter 7.x sobre Unix), entre otras. Además, si es necesario acceder a SQL Server a través de un Firewall, será necesario utilizar un puerto TCP estático en la Instancia de SQL Server, para así poder definir la correspondiente regla de acceso en el Firewall.
¿Cómo configurar en qué puerto TCP debe escuchar una Instancia de SQL Server? Pues muy fácil. Es suficiente con abrir la herramienta administrativa SQL Server Configuration Manager, que podremos encontrar dentro del grupo de Programas de Microsoft SQL Server 2005, en la carpeta Configuration Tools. Dentro de SQL Server Configuration Manager, expandir el nodo SQL Server 2005 Network Configuration, y seleccionar la instancia de SQL Server deseada (ej: MSSQLSERVER para la Instancia por Defecto). Seguidamente, mostrar las propiedades del protocolo TCP/IP (click con el botón derecho, y luego Properties), y en lapestaña IP Addresses está el quiz de la cuestión:
  • Para configurar SQL Server con un puerto TCP estático, dejar la propiedad TCP Dynamic Port en blanco y establecer el puerto TCP deseado en la propiedad TCP Port.
  • Para configurar SQL Server con un puerto TCP dinámico, establecer la propiedad TCP Dynamic Port a 0 y dejar la propiedad TCP Port en blanco.
Cabe destacar que es posible que una Instancia de SQL Server escuche en múltiples direcciones IP, del mismo modo, que para una Dirección IP puede escuchar en múltiples puertos TCP. Por supuesto, podemos tener múltiples Instancias de SQL Server, eso sí, cada Instancia de SQL Server debe escuchar en puertos diferentes (bueno, dos Instancias pueden escuchar en el mismo puerto, pero sobre diferentes direcciones IP). Puede encontrarse más información sobre estas configuración, en la ayuda de SQL Server 2005, mismamente desde el botón Help de la pantalla capturada anterior.
Pór último, para saber en qué puerto TCP y Dirección IP está escuchando SQL Server, es posible comprobar los mensajes existente en el ERRORLOG durante el arranque de la Instancia de SQL Server. Como método alternativo, a través de la herramienta SQL Server Configuration Manager podemos averiguar el Process ID (PID) de la Instancia SQL Server deseada, y seguidamente ejecutar el comando de consola netstat -ano para ver en su salida el o los puertos asociados a dicho Process ID.

Comentarios

Entradas populares de este blog

¿Qué es el nivel de aislamiento (Isolation Level) de una Transacción? ¿Qué niveles de aislamiento ofrece SQL Server?

Esta capítulo explica qué es el nivel de aislamiento (isolation level) de una transacción, el comportamiento de SQL Server en operaciones de lectura o de escritura, se detallan los diferentes niveles de aislamiento basados en bloqueos (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE) y los niveles de aislamiento basados en versionado de filas (READ COMMITTED SNAPSHOT, SNAPSHOT), se explican los males de la concurrencia (lecturas sucias, lecturas no repetibles, lecturas fantasma, y conflictos de actualización), como establecer el nivel de aislamiento deseado (SET TRANSACTION ISOLATION LEVEL y las opciones de base de datos READ_COMMITTED_SNAPSHOT y ALLOW_SNAPSHOT_ISOLATION), cómo conecer el tiempo máximo de bloqueo (@@LOCK_TIMEOUT) y como establecer el tiempo máximo de bloqueo (SET LOCK_TIMEOUT), etc. El nivel de aislamiento de una transacción (transaction isolation level)  define el grado en que se aísla una transacción de las modificaciones de recursos o datos rea

Aumentar y Reducir la TempDB en SQL Server?

Una buena práctica después de instalar SQL Server (y que interesa revisar periódicamente) es tener bien dimensionada la base de datos TEMPDB, es decir que el  tamaño inicial de TEMPDB  sea suficiente, y en consecuencia no sea necesario que TEMPDB crezca ni tampoco reducir TEMPDB (SHRINK). Esta artículo explica brevemente  para qué sirve TEMPDB , explica camo cambiar el tamaño inicial de TEMPDB (aumentar o reducir),  cómo reducir TEMPDB , cuántos ficheros son recomendables para TEMPDB, etc. ¿Para qué sirve TEMPDB?  La base de datos TEMPDB es un elemento de gran importancia en una Instancia de SQL Server, ya que  TEMPDB es la encargada de almacenar tanto los objetos temporales  (tablas temporales, procedimientos almacenados temporales, etc.),  como los resultados intermedios  que pueda necesitar crear el motor de base de datos, por ejemplo durante la ejecución de consultas que utilizan las cláusulas GROUP BY, ORDER BY, DISTINCT, etc. (es decir, las tablas temporales o WorkTables que