Por padrão, o SQL Server gerencia dinamicamente a memória necessária às conexões de usuário. No entanto, o número máximo de conexões pode ser definido como um valor fixo, definindo a opção de configuração conexões de usuário para um valor diferente de 0. A definição da opção de conexões de usuário para um valor diferente de zero não é recomendada. Se essa opção estiver definida com um valor diferente de zero e o número especificado de conexões for excedido, as tentativas de logon adicionais falharão com a mensagem acima. Se o valor estiver definido como 1, a instância do SQL Server talvez não seja iniciada.
Se o SQL Server estiver em execução e você tiver uma conexão de administrador de sistema para ele, emita os seguintes comandos para redefinir a opção de conexão de usuário com o valor padrão 0 (dinâmico):
sp_configure 'user connections', 0
go
reconfigure with override
A instância do SQL Server precisará ser reiniciada para que a alteração entre em vigor.
Se o SQL Server não for iniciado ou se você não puder usar uma das conexões existentes, será preciso iniciar a instância do SQL Server com uma configuração mínima e redefinir a opção de conexão de usuário com o valor padrão 0 (dinâmico).
Se a instância estiver clusterizada, verifique se o SQL Server e o SQL Server Agent estão offline, e se o nó em que você está trabalhando tem os recursos de disco do SQL Server.
Pare ou coloque offline o MS DTC e qualquer outro aplicativo ou serviço que possa se conectar a esta instância do SQL Server.
Use a sintaxe a seguir para iniciar o SQL Server em um prompt de comando (você deve mudar para o diretório binn desta instância do SQL Server):
Instância padrão do SQL Server 2008 ou SQL Server 7.0: sqlservr.exe -c -f
Instância nomeada do SQL Server 2008: sqlservr.exe -c -f -s {instancename}
Use o SQL Server Management Studio para se conectar ao SQL Server. Verifique se você usou um perfil de logon com permissões de Administrador do Sistema no SQL Server.
Emita os seguintes comandos:
sp_configure 'user connections', 0 go reconfigure with override
Na janela do prompt de comando, pressione CTRL+C para sair do SQL Server. Digite Y para desligar o SQL Server.
Inicie o SQL Server normalmente.
Nome | Descrição | Valor Padrão |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Sim |
Prioridade | Define a Prioridade do Alerta. | 1 |
Severidade | Define a Severidade do Alerta. | 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>