through puerto cambiar sql-server sql-server-2008

cambiar - ¿Cómo encontrar el puerto para MS SQL Server 2008?



sql server port (13)

Estoy ejecutando MS SQL Server 2008 en mi máquina local. Sé que el puerto predeterminado es 1433 pero de alguna manera no está escuchando en este puerto. El SQL es una edición Express.

Ya he intentado el registro, el SQL Server Management Studio, el registro y el procedimiento almacenado extendido para encontrar el puerto. Pero no pude encontrarlo Por favor, ayúdame. Gracias.


Además de lo que se menciona arriba, tuve que habilitar los puertos TCP y UDP para que SQLExpress se conectara remotamente. Como tengo tres instancias diferentes en mi máquina de desarrollo, 1430-1435 para TCP y UDP.


Aquí hay 5 metodos que encontré:

  • Método 1: Administrador de configuración de SQL Server
  • Método 2: Visor de eventos de Windows
  • Método 3: Registros de errores de SQL Server
  • Método 4: sys.dm_exec_connections DMV
  • Método 5: Lectura del registro usando xp_instance_regread

Método 4: sys.dm_exec_connections DMV
Creo que esta es casi la forma más fácil ...
Los DMV devuelven el estado del servidor que se puede usar para supervisar la instancia de SQL Server. Podemos usar sys.dm_exec_connections DMV para identificar el número de puerto que SQL Server Instance está escuchando utilizando el siguiente código T-SQL:

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID GO Result Set: local_tcp_port 61499 (1 row(s) affected)

Método 1: Administrador de configuración de SQL Server

Paso 1. Haga clic en Inicio> Todos los programas> Microsoft SQL Server 2012> Herramientas de configuración> Administrador de configuración de SQL Server

Paso 2. Vaya a SQL Server Configuration Manager> Configuración de red de SQL Server> Protocolos para

Paso 3. Haz clic derecho en TCP / IP y selecciona Propiedades

Paso 4. En el cuadro de diálogo Propiedades de TCP / IP, vaya a la pestaña Direcciones IP y desplácese hacia abajo hasta IPTodo el grupo.

Si SQL Server está configurado para ejecutarse en un puerto estático, estará disponible en el cuadro de texto Puerto TCP, y si está configurado en un puerto dinámico, el puerto actual estará disponible en el cuadro de texto Puertos dinámicos TCP. Aquí mi instancia está escuchando en el número de puerto 61499.

Los otros métodos que puede encontrar aquí: http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on/


En el registro ERROLOG para una línea como a continuación. Si no lo ve, SQL Server no está habilitado para acceso remoto, o simplemente no es a través de TCP. Puede cambiar esto a través del Administrador de configuración de SQL Server.

Server is listening on [ 192.128.3.2 <ipv4> 1433].


Esto también se puede hacer a través de un escaneo de puertos, que es el único método posible si no tiene acceso de administrador a un servidor remoto.

El uso de Nmap ( http://nmap.org/zenmap/ ) para hacer un "escaneo TCP intenso" le dará resultados como este para todas las instancias en el servidor:

[10.0.0.1/DATABASE] Instance name: DATABASE Version: Microsoft SQL Server 2008 R2 RTM Product: Microsoft SQL Server 2008 R2 Service pack level: RTM TCP port: 49843 Named pipe: //10.0.0.1/pipe/MSSQL$DATABASE/sql/query

Nota importante: Para probar con el analizador de consultas o MS SQL Server Management Studio, debe configurar el nombre y el puerto de su servidor de forma diferente a como lo haría normalmente con un puerto, a través de HTTP, por ejemplo, usando una coma en lugar de dos puntos .

  • Nombre del servidor de Management Studio: 10.0.0.1,49843
  • Cadena de conexión: Data Source=10.0.0.1,49843

sin embargo

  • Cadena de conexión JDBC: jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE

Me encontré con esto porque tenía problemas para crear una conexión remota y no podía entender por qué la configuración del puerto 1433 en el firewall no está haciendo el trabajo. Finalmente tengo la imagen completa ahora, así que pensé que debería compartir.

En primer lugar, es imprescindible habilitar "TCP / IP" utilizando el Administrador de configuración de SQL Server en Protocolos para SQLEXPRESS.

Cuando se usa una instancia con nombre ("SQLExpress" en este caso), escuchará en un puerto dinámico. Para encontrar este puerto dinámico, tienes un par de opciones; para nombrar unos pocos:

  • verificando ERRORLOG de SQL Server ubicado en ''{MS SQL Server Path}/{MS SQL Server instance name}/MSSQL/Log'' (dentro encontrará una línea similar a esto: "2013-07-25 10:30:36.83 Server Server is listening on [ ''any'' <ipv4> 51118]" -> entonces 51118 es el puerto dinámico en este caso.

  • comprobación de registro: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/{MSSQL instance name}/MSSQLServer/SuperSocketNetLib/Tcp/IPAll , para mi caso TcpDynamicPorts=51118 .

    Editar : {MSSQL instance name} es algo así como: MSSQL10_50.SQLEXPRESS , no solo SQLEXPRESS

Por supuesto, permitir este puerto TCP en el firewall y crear una conexión remota al pasar: "xxxx,51118" (donde xxxx es la ip del servidor) ya lo resuelve en este punto.

Pero luego quise conectar de forma remota al pasar el nombre de la instancia (por ejemplo: xxxx/SQLExpress ). Esto es cuando el servicio del navegador SQL entra en juego. Esta es la unidad que resuelve el nombre de la instancia en el puerto 51118. El servicio del navegador SQL escucha en el puerto UDP 1434 (estándar y estático), así que tuve que permitir esto también en el firewall del servidor.

Para ampliar un poco la respuesta real: si alguien más no le gustan los puertos dinámicos y quiere un puerto estático para su instancia de SQL Server, debería probar este link .


Pruebe esto (se requiere acceso a sys.dm_exec_connections ):

SELECT DISTINCT local_tcp_port FROM sys.dm_exec_connections WHERE local_tcp_port IS NOT NULL


Puede usar estos dos comandos: tasklist y netstat -oan

Tasklist.exe es como taskmgr.exe pero en modo texto.

Con tasklist.exe o taskmgr.exe puede obtener un PID de sqlservr.exe

Con netstat -oan , muestra un PID de conexión, y usted puede filtrarlo.

Ejemplo:

C:/>tasklist | find /i "sqlservr.exe" sqlservr.exe 1184 Services 0 3.181.800 KB C:/>netstat -oan | find /i "1184" TCP 0.0.0.0:1280 0.0.0.0:0 LISTENING 1184

En este ejemplo, el puerto SQLServer es 1280

Extraído de: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html


Resolví el problema habilitando el TCP / IP con el Administrador de configuración de SQL Server en Protocolos para SQLEXPRESS2008, reinicié el servicio y ahora el "Servidor está escuchando" aparece en el archivo ERRORLOG


También podrías mirar con un

netstat -abn

Da a los puertos la aplicación correspondiente que los mantiene abiertos.

Editar : o TCPView .


Uso la siguiente secuencia de comandos en SSMS

SELECT s.host_name ,c.local_net_address ,c.local_tcp_port ,s.login_name ,s.program_name ,c.session_id ,c.connect_time ,c.net_transport ,c.protocol_type ,c.encrypt_option ,c.client_net_address ,c.client_tcp_port ,s.client_interface_name ,s.host_process_id ,c.num_reads as num_reads_connection ,c.num_writes as num_writes_connection ,s.cpu_time ,s.reads as num_reads_sessions ,s.logical_reads as num_logical_reads_sessions ,s.writes as num_writes_sessions ,c.most_recent_sql_handle FROM sys.dm_exec_connections AS c INNER JOIN sys.dm_exec_sessions AS s ON c.session_id = s.session_id --filter port number --WHERE c.local_tcp_port <> 1433


This funciona para SQL Server 2005 - 2012. Busque el evento id = 26022 en el registro de errores en las aplicaciones. Esto mostrará el número de puerto del servidor sql y las direcciones IP a las que tienen acceso.


Haga clic en el botón Start en Windows. Vaya a All Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager

Haga clic en SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP haga doble clic (haga clic con el botón derecho en seleccionar Properties ) en TCP/IP

Encontrarás el Default Port 1433 .

Dependiendo de la conexión, el número de puerto puede variar.


USE master GO xp_readerrorlog 0, 1, N''Server is listening on'', ''any'', NULL, NULL, N''asc'' GO

[Identificar el puerto utilizado por la instancia nombrada del motor de base de datos de SQL Server mediante la lectura de los registros de error de SQL Server]