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.
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).
Se l'istanza è di tipo cluster, assicurarsi che SQL Server e SQL Server Agent siano offline e che il nodo che si sta utilizzando sia proprietario delle risorse disco di SQL Server.
Arrestare o portare offline MSDTC e tutte le applicazioni o servizi che possono connettersi a questa istanza di SQL Server.
Utilizzare la sintassi seguente per avviare SQL Server dal prompt dei comandi (per questa istanza di SQL Server, è necessario passare alla directory binn):
Istanza predefinita di SQL Server 2008 o SQL Server 7.0: sqlservr.exe -c -f
Istanza denominata di SQL Server 2008: sqlservr.exe -c -f -s {nomeistanza}
Utilizzare SQL Server Management Studio per connettersi a SQL Server. Assicurarsi di utilizzare un profilo di accesso che disponga di autorizzazioni System Administrator per SQL Server.
Immettere i comandi seguenti:
sp_configure 'user connections', 0 go reconfigure with override
Nella finestra del prompt dei comandi, premere CTRL+C per uscire da SQL Server. Digitare Y per arrestare SQL Server.
Avviare SQL Server normalmente.
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 17809 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2008ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<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>