此監視器會偵測記錄傳送來源何時未在記錄傳送組態所定義的臨界值內備份其記錄。
此監視器會偵測記錄傳送來源何時未在記錄傳送組態所定義的臨界值內備份其記錄。當發生這種情況時,監視器會變成錯誤 (紅色) 狀態。一旦記錄備份繼續,並在定義的臨界值內進行,則監視將回到成功 (綠色) 狀態。依預設,此監視處於錯誤狀態時會產生警示。
記錄傳送已經超過備份臨界值未執行同步處理。備份臨界值是指產生警示之前,記錄傳送備份作業之間所能經歷的分鐘數。此訊息確實指出記錄傳送發生問題。不過,此訊息可能表示發生下列其中一個問題︰
備份作業並未執行。可能原因如下:主要伺服器執行個體上的 SQL Server Agent 服務未執行、作業已停用,或是作業的排程已變更。
備份作業將失敗。可能的原因如下:備份資料夾路徑無效、磁碟已滿,或是 BACKUP 陳述式可能失敗等任何其他原因。
若要疑難排解此問題:
請確定主要伺服器執行個體正在執行 SQL Server Agent 服務,以及此主要資料庫的備份作業已啟用,並且已排程為根據適當的頻率執行。
主要伺服器上的備份作業可能會失敗。在此情況下,請檢查備份作業的作業記錄以找出原因。
主要伺服器執行個體上執行的記錄傳送備份作業,可能無法連接到監視伺服器執行個體以更新 log_shipping_monitor_primary 資料表。這可能是監視伺服器執行個體與主要伺服器執行個體之間的驗證問題所引起的。
備份警示臨界值的值可能不正確。最好至少將這個值設定為備份作業頻率的三倍。如果您在設定並執行記錄傳送之後變更備份作業的頻率,則必須跟著更新備份警示臨界值的值。
當監視伺服器執行個體離線之後又再次連線時,log_shipping_monitor_primary 資料表會在警示訊息作業執行之後才更新為最新的值。若要以主要資料庫的最新資料更新監視資料表,請在主要伺服器執行個體上執行 sp_refresh_log_shipping_monitor。
主要或監視伺服器執行個體上的日期或時間不正確。這可能也會產生警示訊息。可能是其中一個執行個體上的系統日期或時間經過修改所引起的。
注意:兩個伺服器執行個體的時區不同應該不會造成問題。
《SQL Server 2005 線上叢書》的<記錄傳送>主題:
http://msdn.microsoft.com/zh-tw/library/ms190016(SQL.90).aspx
Target | Microsoft.SQLServer.2005.Database | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLog2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2005.Database.LogShippingSourceMonitor" Accessibility="Public" Enabled="true" Target="SQL2005Core!Microsoft.SQLServer.2005.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2005.Database.LogShippingSourceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="SourceNotBackedUp" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SourceBackUpComplete" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Application</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">14420</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDescription</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>.$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$ </Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Application</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">18265</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDescription</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>: $Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$,</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>