Es posible que los usuarios no puedan conectarse de forma remota a SQL Server mediante el protocolo TCP/IP.
Este artículo le ayuda a resolver el problema en el que no puede conectarse de forma remota a SQL Server mediante el protocolo TCP/IP.
Versión del producto original: SQL Server
Número de KB original: 2018930
Síntomas
Al usar Microsoft SQL Server, es posible que vea uno o varios de los síntomas siguientes:
Solo los usuarios que tienen permiso CONTROL SERVER (por ejemplo, los miembros del rol fijo de servidor syadmin ) pueden conectarse a través de TCP/IP. Los usuarios que no tienen este permiso no pueden conectarse de forma remota a través del protocolo TCP/IP mediante Windows o SQL Server autenticación.
Nota:
Observará que las conexiones de usuario con privilegios elevados solo se muestran en sys.dm_exec_sessions vista de administración dinámica (DMV) (Transact-SQL), pero no en sys.dm_exec_connections (Transact-SQL).
Las conexiones locales y remotas mediante el protocolo Canalizaciones con nombre, así como las conexiones locales mediante el protocolo de memoria compartida siguen funcionando bien.
Además, los siguientes mensajes se registran en el archivo de registro de errores de SQL Server:
En SQL Server inicio:
Error: 26023, gravedad: 16, estado: 1.
El proveedor TCP del servidor no pudo escuchar en ['any'ipv6<> 1963]. El puerto TCP ya está en uso.
Error: 9692, gravedad: 16, estado: 1.
El transporte del protocolo de Service Broker no puede escuchar en el puerto 1963 porque está en uso por otro proceso.Para inicios de sesión con errores:
SQL Server 2008 y versiones posteriores:
Error: 18456, gravedad: 14, estado: 11.
Error de inicio de sesión del usuario "MyDomain\TestAcc". Motivo: Error en la validación del acceso al servidor basado en tokens con un error de infraestructura. Compruebe si hay errores anteriores.
Causa
El error se produce cuando se configura un punto de conexión TCP para Service Broker con el mismo puerto que la instancia de SQL Server está configurada para usarse. Para obtener la lista de puntos de conexión, ejecute la consulta siguiente:
SELECT * FROM sys.tcp_endpoints
Nota:
Como se explica en el tema de los Libros en pantalla sobre sys.tcp_endpoints (Transact-SQL), esta vista no contiene información sobre los puertos y protocolos que SQL Server instancia está configurada actualmente para su uso. Para encontrar esa información, consulte Administrador de configuración de SQL Server.
Solución
Método 1: quite el punto de conexión que causa el problema mediante el comando DROP ENDPOINT (Transact-SQL).
Por ejemplo, para quitar un punto de conexión denominado
TestEP
puede usar el siguiente comando:DROP ENDPOINT TestEP
Método 2: modifique el punto de conexión para usar un puerto diferente mediante el comando ALTER ENDPOINT (Transact-SQL).
Por ejemplo, para modificar un punto de conexión denominado
TestEP
para usar un puerto diferente, puede usar el siguiente comando:ALTER ENDPOINT TestEP as tcp (listener_port=1980)
Más información
También pueden producirse problemas similares con otros puntos de conexión TCP, como los creados para la creación de reflejo de la base de datos, y los mensajes de error en SQL Server inicio cambiarán en consecuencia.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de