MSSQL 2017 on Windows Replication: The Distribution Database Availability from Subscriber Monitor Type

Microsoft.SQLServer.2017.Replication.Windows.MonitorType.DistributorAvailabilityFromSubscriberMonitorType (UnitMonitorType)

The Distribution Database Availability from Subscriber Monitor Type

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
Trigger DataSource Microsoft.SQLServer.2017.Replication.Windows.DataSource.DistributorAvailabilityFromSubscriber Default
IsError ConditionDetection System.ExpressionFilter Default
IsSuccessful ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Subscriberstring$Config/Subscriber$Subscriber NamesList of names of subscribers that should be used as a check source, delimited by '|' symbol
Transportstring$Config/Transport$TransportPrefix of the protocol to access the wsman service
Prefixstring$Config/Prefix$PrefixName of the wsman service
Portint$Config/Port$PortPort of wsman service
DatabaseNamesstring$Config/DatabaseNames$Database NamesList of names for databases that should be checked, delimited by ',' symbol
CredSspEnabledbool$Config/CredSspEnabled$CredSsp EnabledIndicates that CredSsp is enabled prior to running this workflow. Will leave it enabled after the run
IntervalSecondsint$Config/IntervalSeconds$Interval (seconds)The recurring interval of time in seconds in which to run the workflow.
SqlTimeoutSecondsint$Config/SqlTimeoutSeconds$Timeout for database connection (seconds)The workflow will fail and register an event, if it cannot access the database during the specified period.
SyncTimestring$Config/SyncTime$Synchronization TimeSynchronization Time
TimeoutSecondsint$Config/TimeoutSeconds$Timeout (seconds)Specifies the time the workflow is allowed to run before being closed and marked as failed.

Source Code:

<UnitMonitorType ID="Microsoft.SQLServer.2017.Replication.Windows.MonitorType.DistributorAvailabilityFromSubscriberMonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="Error"/>
<MonitorTypeState ID="Health"/>
</MonitorTypeStates>
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Distributor" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Subscriber" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Domain" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="User" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Pass" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Transport" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Prefix" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Port" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DatabaseNames" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CredSspEnabled" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalSeconds" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SqlTimeoutSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Subscriber" ParameterType="string" Selector="$Config/Subscriber$"/>
<OverrideableParameter ID="Transport" ParameterType="string" Selector="$Config/Transport$"/>
<OverrideableParameter ID="Prefix" ParameterType="string" Selector="$Config/Prefix$"/>
<OverrideableParameter ID="Port" ParameterType="int" Selector="$Config/Port$"/>
<OverrideableParameter ID="DatabaseNames" ParameterType="string" Selector="$Config/DatabaseNames$"/>
<OverrideableParameter ID="CredSspEnabled" ParameterType="bool" Selector="$Config/CredSspEnabled$"/>
<OverrideableParameter ID="IntervalSeconds" ParameterType="int" Selector="$Config/IntervalSeconds$"/>
<OverrideableParameter ID="SqlTimeoutSeconds" ParameterType="int" Selector="$Config/SqlTimeoutSeconds$"/>
<OverrideableParameter ID="SyncTime" ParameterType="string" Selector="$Config/SyncTime$"/>
<OverrideableParameter ID="TimeoutSeconds" ParameterType="int" Selector="$Config/TimeoutSeconds$"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="Trigger" TypeID="Microsoft.SQLServer.2017.Replication.Windows.DataSource.DistributorAvailabilityFromSubscriber">
<Distributor>$Config/Distributor$</Distributor>
<Subscriber>$Config/Subscriber$</Subscriber>
<Domain>$Config/Domain$</Domain>
<User>$Config/User$</User>
<Pass>$Config/Pass$</Pass>
<Transport>$Config/Transport$</Transport>
<Prefix>$Config/Prefix$</Prefix>
<Port>$Config/Port$</Port>
<DatabaseNames>$Config/DatabaseNames$</DatabaseNames>
<CredSspEnabled>$Config/CredSspEnabled$</CredSspEnabled>
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SqlTimeoutSeconds>$Config/SqlTimeoutSeconds$</SqlTimeoutSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</DataSource>
<ConditionDetection ID="IsSuccessful" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="IsError" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Error</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Error">
<Node ID="IsError">
<Node ID="Trigger"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Health">
<Node ID="IsSuccessful">
<Node ID="Trigger"/>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>