Se alcanzó el número máximo de conexiones

Microsoft.SQLServer.2008.Maximum_limit_for_connections_has_been_reached_1_5_Rule (Rule)

Knowledge Base article:

Resumen

De forma predeterminada, SQL Server administra dinámicamente la memoria necesaria para las conexiones de usuarios. No obstante, el número máximo de conexiones se puede establecer en un valor fijo si se configura la opción de configuración de conexiones del usuario en un valor distinto de 0. No se recomienda establecer la opción de conexiones del usuario en un valor distinto de cero. Si se configura con un valor distinto de cero y se supera el número de conexiones especificado, todos los intentos de inicio de sesión adicionales devolverán un error con el mensaje anterior. Si el valor se establece en 1, es posible que no se inicie la instancia de SQL Server.

Soluciones

Si se ejecuta SQL Server y dispone de una conexión de administrador del sistema existente, emita los siguientes comandos para restablecer la opción de conexión del usuario al valor predeterminado 0 (dinámica):

sp_configure 'conexiones de usuario', 0

go

reconfigure with override

Será necesario reiniciar la instancia de SQL Server para que el cambio surta efecto.

Si SQL Server no se inicia o si no es posible usar una de las conexiones existentes, deberá iniciar la instancia de SQL Server con una configuración mínima y restablecer la opción de conexión del usuario con el valor predeterminado 0 (dinámica).

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID17809
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Se alcanzó el número máximo de conexiones
{0}
Event LogApplication
CommentMom2008ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.Maximum_limit_for_connections_has_been_reached_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>17809</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.Maximum_limit_for_connections_has_been_reached_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>