來自訂閱者之散發資料庫的可用性。

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>