The Distribution Database Availability from Subscriber Monitor Type
RunAs | Default |
Accessibility | Internal |
Support Monitor Recalculate | False |
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 |
ID | ParameterType | Selector | Display Name | Description |
---|---|---|---|---|
Subscriber | string | $Config/Subscriber$ | Subscriber Names | List of names of subscribers that should be used as a check source, delimited by '|' symbol |
Transport | string | $Config/Transport$ | Transport | Prefix of the protocol to access the wsman service |
Prefix | string | $Config/Prefix$ | Prefix | Name of the wsman service |
Port | int | $Config/Port$ | Port | Port of wsman service |
DatabaseNames | string | $Config/DatabaseNames$ | Database Names | List of names for databases that should be checked, delimited by ',' symbol |
CredSspEnabled | bool | $Config/CredSspEnabled$ | CredSsp Enabled | Indicates that CredSsp is enabled prior to running this workflow. Will leave it enabled after the run |
IntervalSeconds | int | $Config/IntervalSeconds$ | Interval (seconds) | The recurring interval of time in seconds in which to run the workflow. |
SqlTimeoutSeconds | int | $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. |
SyncTime | string | $Config/SyncTime$ | Synchronization Time | Synchronization Time |
TimeoutSeconds | int | $Config/TimeoutSeconds$ | Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. |
<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>