È stato raggiunto il limite massimo per le connessioni

Microsoft.SQLServer.2008.Maximum_limit_for_connections_has_been_reached_1_5_Rule (Rule)

Knowledge Base article:

Riepilogo

Per impostazione predefinita, SQL Server gestisce in modo dinamico la memoria necessaria per le connessioni utente. È tuttavia possibile specificare un valore fisso per il numero massimo di connessioni, impostando l'opzione di configurazione user connections su un valore diverso da 0, sebbene questa operazione non sia consigliata. Se questa opzione viene impostata su un valore diverso da zero e il numero di connessioni specificato viene superato, qualsiasi tentativo di accesso avrà esito negativo e darà origine al messaggio riportato sopra. Se tale valore viene impostato su 1, potrebbe risultare impossibile avviare l'istanza di SQL Server.

Soluzioni

Se SQL Server è in esecuzione e si dispone di una connessione esistente come amministratore di sistema, immettere i seguenti comandi per reimpostare l'opzione user connections sul valore predefinito 0 (dinamico):

sp_configure 'user connections', 0

go

reconfigure with override

Per rendere effettive le modifiche, è necessario riavviare l'istanza di SQL Server.

Se SQL Server non viene avviato o se non è possibile utilizzare una delle connessioni esistenti, è necessario avviare l'istanza di SQL Server in una configurazione minima e reimpostare l'opzione user connections sul valore predefinito 0 (dinamico).

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
È stato raggiunto il limite massimo per le connessioni
{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>