Service Broker 활성화는 응용 프로그램이 메시지 트래픽에 맞게 동적으로 확장될 수 있도록 합니다. 일반적으로 응용 프로그램에서는 서비스에 대한 트래픽이 예기치 않게 달라지거나 서비스를 해당 서비스에서 받는 트래픽에 맞게 동적으로 확장해야 하는 경우에 활성화 기능을 사용합니다.
Service Broker 활성화 프로세스는 두 단계로 구성됩니다. 첫째, Service Broker는 활성화의 필요 여부를 결정합니다. 둘째, Service Broker는 활성화의 발생 여부를 결정합니다. 내부 활성화와 외부 활성화의 정확한 프로세스는 다르지만 전반적인 개념은 동일합니다.
이 경우 Service Broker 활성화 관리자는 활성화가 필요하다고 결정했으며 Service Broker 응용 프로그램을 시작하고자 했으나 실패한 것입니다.
이 오류는 Windows 응용 프로그램 로그에 MSSQLSERVER 이벤트 ID 9701로 기록됩니다. 이 오류는 서버 시작 중에 메모리 부족으로 인해 발생할 수 있습니다. 이 오류는 컴퓨터의 하나 이상의 다른 하드웨어 또는 소프트웨어 문제와 관련이 있을 수 있습니다.
Windows 응용 프로그램 로그를 확인하여 다른 문제로 인해 야기된 오류가 있는지 알아보십시오.
다른 메모리 부족 상태의 경우처럼 이 오류를 진단하십시오. 덜 중요한 응용 프로그램을 제거하거나 가상 또는 실제 메모리를 추가하여 사용 가능한 메모리를 늘리십시오.
사용 가능한 메모리를 늘리기 위해 다음 방법을 고려하십시오.
페이징 파일의 크기를 늘립니다.
-g memory_to_reserve 옵션으로 서버를 다시 시작하여 SQL Server가 SQL Server 프로세스 내의 메모리 할당에 사용 가능한 메모리 양을 늘립니다.
실제 메모리를 추가합니다. 32비트 시스템에서 Microsoft Windows Address Windowing Extension(AWE)을 사용할 경우 실제 메모리를 4GB 이상 추가할 수 있습니다.
Target | Microsoft.SQLServer.2005.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 9701 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2005ID='{679F7701-5328-45B1-A617-B88F211E4E77}';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.Cannot_start_service_broker_activation_manager_5_Rule" Target="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2005ID='{679F7701-5328-45B1-A617-B88F211E4E77}';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>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>9701</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2005.Cannot_start_service_broker_activation_manager_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>