此監視器會偵測記錄傳送目的地在記錄傳送組態中所定義的臨界值內,尚未對其還原記錄。
請注意,所有版本的 SQL Server Express 都不支援任何記錄傳送。
此監視器會偵測記錄傳送目的地在記錄傳送組態中所定義的臨界值內,尚未對其還原記錄。發生此情況時,此監視器會變更為錯誤 (重大) 狀態。一旦開始繼續還原記錄並在定義的臨界值內之後,此監視就會再回到成功 (狀況良好) 狀態。此監視預設會在其處於錯誤狀態時,產生警示。
記錄傳送不同步,超過還原臨界值。還原臨界值是指產生訊息之前,還原作業之間經歷的分鐘數。
若要疑難排解此問題:
確定目前已為次要伺服器執行個體執行了 SQL Server Agent 服務,而且已啟用這個次要資料庫的還原作業,同時也已排程適當的頻率加以執行。
次要伺服器上的還原作業可能會失敗。在此情況下,請檢查還原作業的作業記錄以找出原因。
次要伺服器執行個體上執行的記錄傳送還原作業,可能無法連接到監視伺服器執行個體以更新 log_shipping_monitor_secondary 資料表。這可能是監視伺服器執行個體與次要伺服器執行個體之間的驗證問題所引起的。
備份警示臨界值的值可能不正確。這個值最好是設定為還原作業頻率的三倍以上。如果您在設定並執行記錄傳送之後變更還原作業的頻率,則必須跟著更新備份警示臨界值的值。
當監視伺服器執行個體離線之後又再度連線時,log_shipping_monitor_secondary 資料表會在警示訊息作業執行之後才更新為最新的值。若還原作業成功但顯示「找不到可套用至次要資料庫的記錄備份檔案」,可能會發生錯誤 14421。發生此錯誤時,還原時間便不會更新。這個情況的錯誤原因可能是複製作業發生問題。
若要以次要資料庫的最新資料更新監視資料表,請在次要伺服器執行個體上執行 sp_refresh_log_shipping_monitor。
次要伺服器執行個體或監視伺服器執行個體上的日期或時間不正確。這可能也會產生警示訊息。可能是在其中一個執行個體上的系統日期或時間經過修改所致。
注意:兩個伺服器執行個體的時區不同應該不會造成問題。
《SQL Server 2012 線上叢書》的<記錄傳送>主題:
http://go.microsoft.com/fwlink/?LinkId=789183
名稱 | 描述 | 預設值 |
警示優先程式 | 定義警示優先順序。 | 一般 |
警示嚴重性 | 定義警示嚴重性。 | 錯誤 |
已啟用 | 啟用或停用該工作流程。 | 是 |
產生警示 | 定義工作流程是否會產生警示。 | 是 |
Target | Microsoft.SQLServer.2012.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.2012.Database.LogShippingDestinationMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Database.LogShippingDestinationMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="DestOutOfSync" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="DestInSync" 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">14421</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">18268</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>