Estoy ejecutando MS SQL Server 2008 en mi máquina local. Sé que el puerto predeterminado es 1433, pero de alguna manera no escucha en este puerto. El SQL es una edición Express.
Ya probé el registro, SQL Server Management Studio, el registro y el procedimiento almacenado extendido para encontrar el puerto. Pero no pude encontrarlo. Por favor, ayúdame. Gracias.
sql-server
sql-server-2008
fantasma real
fuente
fuente
Respuestas:
Haga clic en el
Start
botón en Windows. IrAll Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager
Haga clic en
SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP
hacer doble clic (clic derecho en seleccionarProperties
) enTCP/IP
.Encontrarás
Default Port 1433
.Según la conexión, el número de puerto puede variar.
fuente
También puedes mirar con un
Le da a los puertos la aplicación correspondiente que los mantiene abiertos.
Editar : o TCPView .
fuente
Aquí hay 5 métodos que encontré:
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 monitorear la instancia de SQL Server. Podemos usar sys.dm_exec_connections DMV para identificar el número de puerto que la instancia de SQL Server está escuchando usando el siguiente código T-SQL:
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 Administrador de configuración de SQL Server> Configuración de red de SQL Server> Protocolos para
Paso 3. Haga clic derecho en TCP / IP y seleccione 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 el grupo IPAll.
Si SQL Server está configurado para ejecutarse en un puerto estático, estará disponible en el cuadro de texto TCP Port, y si está configurado en un puerto dinámico, el puerto actual estará disponible en el cuadro de texto TCP Dynamic Ports. Aquí mi instancia está escuchando en el puerto número 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/
fuente
Me encontré con esto porque tuve problemas para crear una conexión remota y no podía entender por qué la configuración del puerto 1433 en el firewall no funciona. Finalmente tengo la imagen completa ahora, así que pensé que debería compartirla.
En primer lugar, es imprescindible habilitar "TCP / IP" utilizando el Administrador de configuración de SQL Server en Protocolos para SQLEXPRESS.
Cuando se utiliza una instancia con nombre ("SQLExpress" en este caso), escuchará en un puerto dinámico. Para encontrar este puerto dinámico tiene un par de opciones; para nombrar unos pocos:
comprobación
ERRORLOG
de SQL Server ubicado en'{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log'
(dentro encontrará una línea similar a esta:"2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]"
-> por lo que 51118 es el puerto dinámico en este caso.comprobando registro:,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll
para mi casoTcpDynamicPorts=51118
.Editar :
{MSSQL instance name}
es algo como:,MSSQL10_50.SQLEXPRESS
no soloSQLEXPRESS
Por supuesto, permitir este puerto TCP en el firewall y crear una conexión remota pasando:
"x.x.x.x,51118"
(donde xxxx es la ip del servidor) ya lo resuelve en este punto.Pero luego quería conectarme de forma remota pasando el nombre de la instancia (por ejemplo:)
x.x.x.x\SQLExpress
. Aquí es cuando entra en juego el servicio SQL Browser. 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 extender un poco la respuesta real: si a 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 enlace .
fuente
En el registro de ERROLOG para una línea como la siguiente. Si no lo ve, SQL Server no está habilitado para acceso remoto, o simplemente no lo está a través de TCP. Puede cambiar esto a través del Administrador de configuración de SQL Server.
fuente
xp_readerrorlog 0, 1, N'Server is listening on'
Resolví el problema habilitando TCP / IP usando el Administrador de configuración de SQL Server en Protocolos para SQLEXPRESS2008, reinicié el servicio y ahora el "El servidor está escuchando" aparece en el archivo ERRORLOG
fuente
Prueba esto (requiere acceso a
sys.dm_exec_connections
):fuente
[Identifique el puerto utilizado por la instancia con nombre del motor de base de datos de SQL Server leyendo los registros de errores de SQL Server]
fuente
xp_readerrorlog 0, 1, N'Server is listening on'
Puede utilizar estos dos comandos:
tasklist
ynetstat -oan
Tasklist.exe
es comotaskmgr.exe
pero en modo texto.Con
tasklist.exe
otaskmgr.exe
puede obtener un PID desqlservr.exe
Con
netstat -oan
, muestra un PID de conexión y puede filtrarlo.Ejemplo:
En este ejemplo, el puerto de SQLServer es 1280
Extraído de: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html
fuente
Yo uso el siguiente script en SSMS
fuente
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:
Nota importante: para probar con el analizador de consultas o MS SQL Server Management Studio, debe formar el nombre de su servidor y el puerto de manera diferente a como lo haría normalmente para conectarse a un puerto, a través de HTTP, por ejemplo, usando una coma en lugar de dos puntos .
10.0.0.1,49843
Data Source=10.0.0.1,49843
sin embargo
jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE
fuente
Esto funciona para SQL Server 2005 - 2012. Busque id de evento = 26022 en el registro de errores en aplicaciones. Eso mostrará el número de puerto del servidor SQL, así como las direcciones IP que pueden acceder.
fuente
Además de lo que se enumera anteriormente, tuve que habilitar los puertos TCP y UDP para que SQLExpress se conectara de forma remota. Como tengo tres instancias diferentes en mi máquina de desarrollo, habilito
1430-1435
tanto TCP como UDP.fuente