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 configurado 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, todas 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 com um administrador de sistema existente conectado, 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 'conexões de usuário', 0
go
reconfigure with override
A instância do SQL Server precisará ser reiniciada para que a alteração tenha efeito.
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 em 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 seguinte sintaxe para iniciar o SQL Server em um prompt de comando (você deve alternar para o diretório binn desta instância do SQL Server):
Instância padrão do SQL Server 2005 ou SQL Server 7.0: sqlservr.exe -c -f
Instância nomeada do SQL Server 2005: 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 'conexões de usuário', 0 go reconfigure with override
Na janela de prompt de comando, pressione CTRL+C para encerrar o SQL Server. Digite Y para desligar o SQL Server.
Inicie o SQL Server normalmente.
Target | Microsoft.SQLServer.2005.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 | Mom2005ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2005GroupID={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.2005.Maximum_limit_for_connections_has_been_reached_1_5_Rule" Target="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2005ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2005GroupID={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.2005.Maximum_limit_for_connections_has_been_reached_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>