c# - operación - no se puede abrir una conexion con sql server
¿Algún límite de recuento de conexiones de SQL Server? (2)
Estoy utilizando SQL Server 2008 Enterprise + C # + ADO.Net + .Net 3.5. Estoy usando sp_who2 o sys.dm_exec_connections para encontrar números de conexiones activas (avíseme si mi método para encontrar números de conexiones activas es incorrecto). Para algunas aplicaciones de consumidores de bases de datos pesadas, puedo encontrar un recuento de conexiones activas> 1000.
Me pregunto si existen limitaciones de límite superior para los números de conexión activa de SQL Server.
gracias de antemano, george
http://msdn.microsoft.com/en-us/library/ms143432.aspx
32,767 es el límite máximo por base de datos.
Lo haría de la siguiente manera:
SELECT
COUNT(*)
FROM
master.dbo.syslockinfo
WHERE
DB_NAME(rsc_dbid) = ''your_database_name''
Es una configuración por instancia, no por base de datos. Puede verificar el valor actual en sys.configurations
y cambiarlo con sp_configure
. La opción relevante es user connections
:
Use la opción de conexiones de usuario para especificar el número máximo de conexiones de usuario simultáneas permitidas en Microsoft SQL Server. La cantidad real de conexiones de usuario permitidas también depende de la versión de SQL Server que esté utilizando y los límites de su aplicación o aplicaciones y hardware. SQL Server permite un máximo de 32,767 conexiones de usuario.
1000 de conexiones no es un número extremadamente alto. En los sistemas de gama alta, el servidor puede escuchar en múltiples puertos afinizados a nodos NUMA y tener cientos y miles de clientes conectados a cada nodo.
Tenga en cuenta que el número de conexiones es diferente del número de solicitudes , es decir. Conexiones ejecutando activamente algo, sys.dm_exec_requests . Cada solicitud requiere uno o más trabajadores y la cantidad de trabajadores se configura con la opción de max worker threads
.