Par défaut, SQL Server gère dynamiquement la mémoire nécessaire aux connexions utilisateur. Le nombre maximal de connexions peut toutefois être défini sur une valeur fixe en affectant à l'option de configuration user connections une valeur autre que 0. Il est déconseillé d'affecter à l'option des connexions utilisateur une valeur différente de zéro. Si une valeur différente de zéro est affectée à cette option et si le nombre de connexions spécifié est dépassé, toute nouvelle tentative de connexion échoue avec le message ci-dessus. Si la valeur définie est 1, l'instance SQL Server ne peut pas démarrer.
Si vous êtes connecté en tant qu'administrateur système à une instance SQL Server en cours d'exécution, utilisez les commandes suivantes pour réinitialiser l'option des connexions utilisateur à la valeur par défaut, qui est 0 (dynamique) :
sp_configure 'user connections', 0
OK
reconfigure with override
L'instance SQL Server doit être redémarrée pour que la modification prenne effet.
Si SQL Server ne démarre pas ou si vous ne pouvez pas utiliser une des connexions existantes, vous devrez redémarrer l'instance SQL Server dans une configuration minimale et réinitialiser l'option des connexions utilisateur à la valeur par défaut, qui est 0 (dynamique).
Si l'instance est en cluster, vérifiez que SQL Server et SQL Server Agent sont hors connexion, et que le nœud à partir duquel vous travaillez dispose des ressources de disque SQL Server.
Arrêtez MS DTC ou mettez-le hors connexion, ainsi que toute autre application ou tout autre service susceptible de se connecter à cette instance SQL Server.
Utilisez la syntaxe suivante pour démarrer SQL Server à partir d'une invite de commandes (vous devez accéder au répertoire binn pour cette instance de SQL Server) :
Instance SQL Server 2008 par défaut ou SQL Server 7.0 : sqlservr.exe -c -f
Instance nommée de SQL Server 2008 : sqlservr.exe -c -f -s {instancename}
Utilisez SQL Server Management Studio pour vous connecter à SQL Server. Assurez-vous d'utiliser un profil de connexion disposant d'autorisations d'administrateur système sur SQL Server.
Lancez les commandes suivantes :
sp_configure 'user connections', 0 go reconfigure with override
Dans la fenêtre d'invite de commandes, appuyez sur Ctrl+C pour quitter SQL Server. Tapez Y pour arrêter SQL Server.
Démarrez SQL Server normalement.
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Oui |
Priorité | Définit la priorité de l'alerte. | 1 |
Gravité | Définit la gravité de l'alerte. | 1 |
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>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>