サブスクライバーからのディストリビューション データベースの可用性。

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

このモニターは、サブスクライバーからのディストリビューション データベースの可用性を確認します。

Knowledge Base article:

概要

サブスクライバーがディストリビューション データベースにアクセスできません。

原因

この状況は、以下の原因で生じることがあります。:

解決策

以下の条件を確認してください。:

追加

レプリケーション トポロジにファイアウォールがある場合、次の記事が参考になります。 http://support.microsoft.com/kb/164667/

LocalAccountTokenFilterPolicy キーを追加するには、以下を実行します。:

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

上書き可能なパラメーター

名前

説明

既定値

CredSsp が使用可能

このワークフローを実行する前に CredSsp が有効になることを示します。実行後も有効なままになります

はい

データベース名

チェックが必要で ',' の記号で区切られた、データベースの名前の一覧

 

有効化

ワークフローの有効化または無効化

いいえ

警告を生成する

ワークフローが警告を生成するかどうかを規定する

はい

間隔 (秒)

ワークフローを実行する定期的な実行間隔 (秒)。

300

ポート

wsman サービスのポート

5985

プレフィックス

wsman サービスの名前

wsman

サブスクライバー名

チェック ソースとして使用する必要があり、'|' の記号で区切られた、サブスクライバーの名前の一覧

 

同期時間

同期時間

 

トランスポート

wsman サービスにアクセスするためのプロトコルのプレフィックス

http

Element properties:

TargetMicrosoft.SQLServer.2008.Replication.Distributor
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.Replication.MonitorType.DistributorAvailabilityFromSubscriberMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL2008 レプリケーション:サブスクライバーのディストリビューション データベースを利用できません。
ディストリビューション データベースは、サブスクライバーからは使用できません ({0})
{1}
RunAsMicrosoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Replication.Monitor.DistributionDBAvailabilityFromSubscriber" Accessibility="Public" Enabled="false" Target="MS2RD!Microsoft.SQLServer.2008.Replication.Distributor" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.Replication.MonitorType.DistributorAvailabilityFromSubscriberMonitorType" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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>
<SyncTime/>
</Configuration>
</UnitMonitor>