최대 연결 제한 수에 도달했습니다.

Microsoft.SQLServer.2012.Maximum_limit_for_connections_has_been_reached_1_5_Rule (Rule)

Knowledge Base article:

요약

기본적으로 SQL Server는 사용자 연결에 필요한 메모리를 동적으로 관리합니다. 그러나 사용자 연결 구성 옵션을 0이 아닌 값으로 설정하여 최대 연결 수를 고정 값으로 설정할 수 있습니다. 사용자 연결 옵션을 0으로 설정하는 것이 좋습니다. 이 옵션이 0이 아닌 값으로 설정되어 있고 지정된 연결 수를 초과하는 경우 추가 로그인 시도는 위의 메시지가 나타나면 실패하게 됩니다. 값을 1로 설정하면 SQL Server 인스턴스가 시작되지 않을 수 있습니다.

해결 방법

SQL Server가 실행 중이고 기존 시스템 관리자 연결이 있는 경우 다음 명령을 실행하여 사용자 연결 옵션을 기본값인 0(동적)으로 다시 설정하세요.

sp_configure 'user connections', 0

go

reconfigure with override

변경 내용을 적용하려면 SQL Server 인스턴스를 다시 시작해야 합니다.

SQL Server가 시작되지 않거나 기존 연결 중 하나를 사용할 수 없는 경우 SQL Server 인스턴스를 최소 구성으로 시작하고 사용자 연결 옵션을 기본값인 0(동적)으로 다시 설정해야 합니다.

재정의 가능한 매개 변수

이름

설명

기본값

사용

워크플로를 사용하거나 사용하지 않도록 설정합니다.

우선 순위

알림 우선 순위를 정의합니다.

1

심각도

알림 심각도를 정의합니다.

1

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID17809
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
최대 연결 제한 수에 도달했습니다.
{0}
Event LogApplication
CommentMom2012ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2012GroupID={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.2012.Maximum_limit_for_connections_has_been_reached_1_5_Rule" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2012ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2012GroupID={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.2012.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>