Активация компонента Service Broker помогает приложениям динамически масштабироваться в соответствии с трафиком сообщений. Обычно приложение использует активацию, если нагрузка на службу меняется непредсказуемым образом или необходимо обеспечить динамическое масштабирование службы в соответствии с объемом получаемых сообщений.
Процесс активации компонента Service Broker состоит из двух шагов. Во-первых, компонентом Service Broker определяется необходимость активации. Во-вторых, компонентом Service Broker определяется факт выполнения активации. Хотя процессы внутренней и внешней активации отличаются, общие принципы одинаковы для той и иной стратегии.
В данном случае диспетчер активации компонента Service Broker определил необходимость активации и безуспешно попытался запустить приложение компонента Service Broker.
Эта ошибка регистрируется в журнале приложений Windows как событие MSSQLSERVER с идентификатором 9701. Это могло быть вызвано нехваткой памяти во время запуска сервера. Вероятно, это связано с аппаратными или программными проблемами на данном компьютере.
Просмотрите журнал приложений Windows, чтобы найти ошибки, вызванные другими проблемами.
Выполните диагностические действия, аналогичные действиям, предпринимаемым при любой нехватке памяти. Увеличьте доступную память, закрыв менее важные приложения или добавив виртуальную или физическую память.
Рассмотрите следующие решения по увеличению доступной памяти.
Увеличить размер файла подкачки.
Перезапустить сервер с параметром -g memory_to_reserve для увеличения объема оставляемых SQL Server распределений памяти в рамках процесса SQL Server.
Добавьте физической памяти. В 32-разрядной системе можно добавлять более 4 ГБ физической памяти, если используются расширения Microsoft Windows Address Windowing Extensions (AWE).
Имя | Описание | Значение по умолчанию |
Вкл. | Включает или отключает рабочий процесс. | Да |
Приоритет | Определяет приоритет предупреждения. | 1 |
Серьезность | Определяет серьезность предупреждения. | 2 |
Target | Microsoft.SQLServer.2008.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 | Mom2008ID='{679F7701-5328-45B1-A617-B88F211E4E77}';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.Cannot_start_service_broker_activation_manager_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{679F7701-5328-45B1-A617-B88F211E4E77}';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>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.2008.Cannot_start_service_broker_activation_manager_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>