MSSQL on Linux: SQL Server Service Broker or Database Mirroring transport is disabled or not configured

Microsoft.SQLServer.Linux.EventRule.DBEngine.The_SQL_Server_Service_Broker_or_Database_Mirroring_transport_is_disabled_or_not_configured_5_Rule (Rule)

The rule triggers an alert when the SQL Server Service Broker or Database Mirroring transport is disabled or not configured. Note that this rule is disabled by default. Use overrides to enable it when necessary.

Knowledge Base article:

Summary

SQL Server Service Broker or Database Mirroring endpoint is disabled or not configured.

Causes

This event is logged in the Linux application log as MSSQLSERVER event ID 9666. The Database Mirroring and Service Broker transport related error message is triggered even if Service Broker or Data Mirroring is not enabled. This is because the communication stack on which these features depend is started when SQL Server starts. Service Broker will not work if transport is disabled.

Resolutions

This issue may be resolved by:

External

For information about creating an endpoint, see " CREATE ENDPOINT (Transact-SQL) " article in Microsoft SQL Server Docs Online.

For information about altering an endpoint, see " ALTER ENDPOINT (Transact-SQL) " article in Microsoft SQL Server Docs Online.

For more information about Database Mirroring, see the " Database Mirroring Endpoint " article in the Microsoft SQL Server Docs Online.

If this rule is not a concern for the database:

Overridable Parameters

Name

Description

Default Value

Enabled

Enables or disables the workflow.

No

Interval (seconds)

The recurring interval of time in seconds in which to run the workflow.

300

Priority

Defines Alert Priority.

2

Severity

Defines Alert Severity.

2

Synchronization Time

The synchronization time specified by using a 24-hour format. May be omitted.

 

Timeout (seconds)

Specifies the time the workflow is allowed to run before being closed and marked as failed.

200

Timeout for query execution (seconds)

The workflow will fail and register an event, if the query execution takes longer than the specified period.

60

Timeout for database connection (seconds)

The workflow will fail and register an event, if it cannot access the database during the specified period.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
MSSQL on Linux: SQL Server Service Broker or Database Mirroring transport is disabled or not configured
{2}
CommentMom2017ID='{72CCDDCE-20A4-49C9-BABB-614E0D197915}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.The_SQL_Server_Service_Broker_or_Database_Mirroring_transport_is_disabled_or_not_configured_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{72CCDDCE-20A4-49C9-BABB-614E0D197915}';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.Linux.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>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>9666</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.The_SQL_Server_Service_Broker_or_Database_Mirroring_transport_is_disabled_or_not_configured_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>