訊息佇列服務無法啟動。無法復原檢查點檔案。
訊息佇列必須使用檢查點檔案才能正確運作。若要解決此問題,您必須刪除所有檢查點檔案,以及訊息佇列儲存區目錄中的 QMLog 檔案。此可能會導致部分訊息重複。不過,此解決方式可讓服務盡快執行,且一般不會造成資料遺失。
修正或復原已損毀的記錄檔和檢查點檔案
若要執行這些程序,您必須具備 Administrators 的成員資格,或者必須已被委派適當的權限。
重要:如果您擔心資料遺失,請連絡 Microsoft 客戶服務及支援 (CSS)。如需如何連絡 CSS 的相關資訊,請參閱「企業支援」( http://go.microsoft.com/fwlink/?LinkId=52267)。
刪除檢查點檔案
刪除檢查點檔案:
注意: 不正確地編輯登錄可能會對系統造成嚴重損害。在變更登錄前,您應先備份所有重要的資料。
開啟 [Windows 檔案總管],然後瀏覽至儲存區目錄。此目錄一般都是位於 C:\Windows\System32\msmq\storage 路徑底下。
刪除下列檔案:MQInSeqs.lg1、MQInSeqs.lg2、MQTrans.lg1、MQTrans.lg2、QMLog 檔案。
開啟登錄編輯程式。若要開啟 [登錄編輯程式],請按一下 [開始.]。在搜尋方塊中輸入 regedit,然後按下 ENTER。
瀏覽至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters。
按一下 [參數]。
在 [編輯] 功能表中,指向 [新增],然後按一下 [DWORD (32-位元) 值]。
在 [名稱] 中輸入 LogDataCreated,並確認該值設為 0。
關閉登錄編輯程式。
重新啟動 MSMQ 服務
重新啟動 MSMQ 服務:
開啟 [服務] 嵌入式管理單元。若要開啟服務,請按一下 [開始]。在搜尋方塊中輸入 services.msc,然後按下 ENTER。
以滑鼠右鍵按一下 [訊息佇列],然後按一下 [重新啟動]。此外,您也必須重新啟動所有依存服務。
如果您擔心資料遺失,請連絡 Microsoft 客戶服務及支援 (CSS)。如需如何連絡 CSS 的相關資訊,請參閱「企業支援」( http://go.microsoft.com/fwlink/?LinkId=52267)。
如需詳細資訊,請參閱事件識別碼 2078 ( http://technet.microsoft.com/en-us/library/dd337513(WS.10).aspx)
Target | Microsoft.MSMQ.6.3.Servers |
Category | EventCollection |
Enabled | False |
Event_ID | 2078 |
Event Source | $Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$ |
Alert Generate | False |
Remotable | True |
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
WriteToDW | WriteAction | Microsoft.SystemCenter.DataWarehouse.PublishEventData | Default |
<Rule ID="Microsoft.MSMQ.6.3.Rule.Collect.Event2078" Enabled="false" Target="Microsoft.MSMQ.6.3.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2078</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData"/>
</WriteActions>
</Rule>