XML: 無法載入 Msxml2.dll

Microsoft.SQLServer.2008.XML___Failed_to_load_Msxml2.dll_1_5_Rule (Rule)

Knowledge Base article:

摘要

安裝 SQL Server 的電腦中遺失 Msxml2.dll 檔案,處理 XML 功能 (如 sp_xml_preparedocument) 期間,無法從系統目錄載入該檔案。若該檔案存在,可能是檔案註冊不正確,或其中一個檔案相依項目可能不存在。

如果在沒有安裝舊版 MSDE 的電腦上安裝了 MSDE SP3a,則可能沒有安裝 Msxml2.dll 檔案。如需詳細資訊,請參閱 Microsoft 知識庫文章 823490。如果您有另一個版本的 SQL Server,檔案可能已由程式解除安裝所移除,或是它可能已被手動刪除或取消註冊。

解決方式

搜尋 SQL Server 電腦中的 Msxml2.dll。如果找不到該檔案,請從 Microsoft 知識庫文章 823490 下載並安裝 Msxml2.msi。如果該檔案存在,請確認其註冊正確。

可覆寫的參數

名稱

描述

預設值

已啟用

啟用或停用該工作流程。

優先順序

定義警示優先順序。

1

嚴重性

定義警示嚴重性。

2

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID6610
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
XML: 無法載入 Msxml2.dll
{0}
Event LogApplication
CommentMom2008ID='{49C720E3-00BA-4A68-B33B-B09017D6945E}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.XML___Failed_to_load_Msxml2.dll_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{49C720E3-00BA-4A68-B33B-B09017D6945E}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<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="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>6610</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.XML___Failed_to_load_Msxml2.dll_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>