Service Broker가 활성화 관리자를 시작하지 못하면 규칙이 경고를 트리거합니다.
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 이상 추가할 수 있습니다.
이름 | 설명 | 기본값 |
사용 | 워크플로 사용하거나 사용하지 않도록 설정합니다. | 예 |
간격(초) | 워크플로를 실행하는 반복 시간 간격(초)입니다. | 300 |
우선 순위 | 알림 우선 순위를 정의합니다. | 1 |
심각도 | 알림 심각도를 정의합니다. | 2 |
동기화 시간 | 동기화 시간 |
|
시간 제한(초) | 여기서 지정한 시간 동안 워크플로가 실행된 후 워크플로가 닫히고 실패로 표시됩니다. | 200 |
데이터베이스 연결 시간 제한(초) | 워크플로는 지정된 기간 동안 데이터베이스에 액세스할 수 없으면 실패하며 이벤트를 등록합니다. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{679F7701-5328-45B1-A617-B88F211E4E77}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.Cannot_start_service_broker_activation_manager_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{679F7701-5328-45B1-A617-B88F211E4E77}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>9701</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Cannot_start_service_broker_activation_manager_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>