DFS-R:複寫資料庫

Microsoft.Windows.FileServer.DFSR.InternalDBErrorMonitor (UnitMonitor)

此物件會監視 DFS 複寫資料庫,並在發生 DFS 複寫無法自動復原的錯誤時建立「警告」警示。

Knowledge Base article:

摘要

此物件會監視 DFS 複寫資料庫上的復原作業,並在發生任何錯誤時建立「警告」警示。它會透過尋找 DFS 複寫事件 2104 是否存在來執行此操作。

原因

此監視的狀況不良狀態指出,複寫因複寫資料庫發生內部錯誤而停止。這可能因為以下原因而發生:

解決方式

等待資料庫重建完成

不需要任何動作。

DFS 複寫會自動重建資料庫,然後針對該磁碟區上主控的所有複寫資料夾開始初始同步處理。因此,復原可能需要很長的時間才能完成,此需視指定磁碟區上的複寫資料夾中的資料量和檔案數目而定。

如果您看見此錯誤經常發生,請對受影響的磁碟區上執行 chkdsk 命令,以檢查是否有磁碟錯誤造成此問題,並檢查系統事件記錄檔看是否有與磁碟相關的錯誤。

增加可用磁碟空間

如果主控複寫用快取資料夾或偵錯記錄檔的磁碟區的磁碟空間不足,請增加磁碟區的可用磁碟空間、增加磁碟區的大小,或將複寫用快取資料夾的路徑變更至擁有更多可用磁碟空間的磁碟區。

若要手動檢查可用磁碟空間量,請開啟命令提示字元視窗,然後輸入以下命令,其中 [servername] 是主控受影響資料夾的伺服器的名稱,而 [domain\user] 是您的使用者名稱:

WMIC /node:"[servername]" /user:[domain\user] volume list status

釋出空間之後,請重新啟動 DFS 複寫服務。

檢查是否有磁碟區錯誤

如果此問題經常發生,請使用 chkdsk 命令檢查主控 DFS 複寫資料庫的磁碟區。請同時在 [事件檢視器] 中檢查系統記錄檔,尋找具有 NTFS 來源的事件。這些事件可能會指出磁碟是否有失敗的情況。

如果您持續遇到問題,請連絡 Microsoft 客戶服務及支援 (http://support.microsoft.com)。

驗證

當複寫完成且 DFS 複寫記錄事件 2106 或事件 4108 之後,此監視會自動重設為狀況良好狀態。

若要手動確認複寫為狀況良好狀態,請使用 DFS 管理或以下命令對受影響的資料夾執行傳播測試,其中 [ReplicationGroup] 是複寫群組的名稱,而 [ReplicatedFolder] 是複寫資料夾的名稱:

其他

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.Volume
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-R:複寫資料庫內部錯誤
DFS 複寫無法複原複寫資料庫的內部錯誤,且已停止對此磁碟區上所有複寫資料夾進行複寫。
其他資訊:錯誤:{0} ({1} ({2})) 磁碟區: {3}.
GUID:{4} 資料庫: {5}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.InternalDBErrorMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.Volume" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSR.InternalDBErrorMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[3]$</AlertParameter1>
<AlertParameter2>$Data/Context/Params/Param[4]$</AlertParameter2>
<AlertParameter3>$Data/Context/Params/Param[5]$</AlertParameter3>
<AlertParameter4>$Data/Context/Params/Param[2]$</AlertParameter4>
<AlertParameter5>$Data/Context/Params/Param[1]$</AlertParameter5>
<AlertParameter6>$Data/Context/Params/Param[6]$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>DFS Replication</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.Volume"]/VolumeGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>DFS Replication</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.Volume"]/VolumeGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2106</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2002</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2008</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2010</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">9111</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>$Target/Property[Type="System!System.Entity"]/DisplayName$</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>