Die Verfügbarkeit der Verteilungsdatenbank aus einem Abonnenten.

Microsoft.SQLServer.2016.Replication.Monitor.DistributionDBAvailabilityFromSubscriber (UnitMonitor)

Dieser Monitor überprüft die Verfügbarkeit der Verteilungsdatenbank vom Abonnenten.

Knowledge Base article:

Zusammenfassung

Der Abonnent kann seine Verteilungsdatenbank nicht erreichen.

Konfiguration

Um diesen Monitor zu verwenden, müssen Administratorberechtigungen in "Verteilerverfügbarkeit der Microsoft SQL Server-Replikation aus Abonnentenüberwachung – ausführendes Profil" hinzugefügt werden.

Datenbanknamen in der Liste der Datenbanknamen sollten durch Kommas getrennt werden.

Ein Datenbankname muss die Anforderungen einer der folgenden Bezeichnerklassen erfüllen:

1) Regulär

– Ein Buchstabe gemäß Definition durch Unicode-Standard 3.2. Die Unicode-Definition von Buchstaben umfasst lateinische Buchstaben von a bis z und von A bis Z sowie Buchstaben aus anderen Sprachen.

– Unterstrich (_)

– Buchstaben gemäß Definition durch Unicode-Standard 3.2

- Dezimalzahlen aus Skripts vom Typ "Standardlateinisch" oder anderen Skripts;

– At-Zeichen (@), Dollarzeichen ($), Nummernzeichen (#) oder Unterstrich (_)

2) Mit Trennzeichen: Kann beliebige Zeichen enthalten und sollte durch doppelte Anführungszeichen oder eckige Klammern getrennt werden.

3) Ohne Trennzeichen: Kann praktisch jede beliebige Zeichenfolge enthalten und sollte diese Anforderungen erfüllen:

Die Namen von Datenbanken, die einer der oben aufgeführten Klassen angehören, dürfen zwischen 1 und 128 Zeichen umfassen, Trennzeichen nicht eingeschlossen.

Weitere Informationen finden Sie unter https://msdn.microsoft.com/en-us/library/ms175874.

Ursachen

Diese Situation wird ggf. verursacht durch:

Lösungen

Überprüfen Sie die folgenden Bedingungen:

Weitere

Wenn Ihre Replikationstopologie eine Firewall aufweist, können Sie den folgenden Artikel lesen: http://support.microsoft.com/kb/164667/

Führen Sie Folgendes aus, um den LocalAccountTokenFilterPolicy-Schlüssel hinzuzufügen:

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

CredSsp aktiviert

Gibt an, dass "CredSsp" vor der Ausführung dieses Workflows aktiviert wird. Die Aktivierung bleibt nach der Ausführung bestehen.

Ja

Datenbanknamen

Die Liste der Namen für Datenbanken, die überprüft werden sollen, getrennt durch das Zeichen ",".

 

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Nein

Generiert Benachrichtigungen.

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

300

Port

Port des wsman-Diensts

5985

Präfix

Name des wsman-Diensts

wsman

Abonnentennamen

Die Liste der Namen von Abonnenten, die als Überprüfungsquelle verwendet werden sollen, getrennt durch das Zeichen "|".

 

Synchronisierungszeit

Synchronisierungszeit

 

Timeout (Sekunden)

Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird.

300

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Transport

Das Präfix des Protokolls für den Zugriff auf den wsman-Dienst.

http

Element properties:

TargetMicrosoft.SQLServer.2016.Replication.Distributor
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.Replication.MonitorType.DistributorAvailabilityFromSubscriberMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL2016-Replikation: Die Verteilungsdatenbank ist vom Abonnenten nicht verfügbar.
Die Verteilungsdatenbank ist von den Abonnenten ({0}) nicht verfügbar.
{1}
RunAsMicrosoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Replication.Monitor.DistributionDBAvailabilityFromSubscriber" Accessibility="Public" Enabled="false" Target="MS2RD!Microsoft.SQLServer.2016.Replication.Distributor" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.Replication.MonitorType.DistributorAvailabilityFromSubscriberMonitorType" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Replication.Monitor.DistributionDBAvailabilityFromSubscriber.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Subscriber']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='Message']$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Health" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Distributor>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</Distributor>
<Subscriber/>
<Domain>$RunAs[Name="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor"]/Domain$</Domain>
<User>$RunAs[Name="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor"]/UserName$</User>
<Pass>$RunAs[Name="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor"]/Password$</Pass>
<Transport>http</Transport>
<Prefix>wsman</Prefix>
<Port>5985</Port>
<DatabaseNames/>
<CredSspEnabled>true</CredSspEnabled>
<IntervalSeconds>300</IntervalSeconds>
<SqlTimeout>15</SqlTimeout>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>