MSSQL 2016: XML: Fehler beim Instanziieren einer Klasse. Achten Sie darauf, dass Msxml2.dll in der SQL Server-Installation vorhanden ist

Microsoft.SQLServer.2016.XML___Failed_to_instantiate_class._Make_sure_Msxml2.dll_exists_in_the_SQL_Server_installation_1_5_Rule (Rule)

Die Datei "Msxml2.dll" ist auf dem Computer mit der SQL Server-Installation nicht vorhanden oder konnte vom Systemverzeichnis während der Verarbeitung einer XML-Funktion wie sp_xml_preparedocument nicht geladen werden. Wenn die Datei vorhanden ist, wurde sie möglicherweise nicht ordnungsgemäß registriert oder eine ihrer Abhängigkeiten fehlt.

Knowledge Base article:

Zusammenfassung

Die Datei "Msxml2.dll" ist auf dem Computer mit SQL Server nicht vorhanden oder kann nicht aus dem Systemverzeichnis geladen werden, während eine XML-Funktion verarbeitet wird, z. B. sp_xml_preparedocument. Wenn die Datei vorhanden ist, wurde sie möglicherweise nicht ordnungsgemäß registriert, oder eine ihrer Abhängigkeiten ist nicht vorhanden.

Wenn Sie MSDE SP3a auf einem Computer installiert haben, auf dem keine frühere Version von MSDE installiert ist, wurde die Datei "Msxml2.dll" eventuell nicht installiert. Wenn Sie eine andere Edition von SQL Server verwenden, wurde die Datei eventuell durch die Deinstallation eines Programms entfernt, manuell gelöscht, oder ihre Registrierung wurde aufgehoben.

Lösungen

Durchsuchen Sie den SQL Server-Computer nach der Datei "Msxml2.dll". Wenn die Datei vorhanden ist, überprüfen Sie, ob sie ordnungsgemäß registriert ist.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

2

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID6608
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: XML: Fehler beim Instanziieren einer Klasse. Achten Sie darauf, dass Msxml2.dll in der SQL Server-Installation vorhanden ist
{0}
Event LogApplication
CommentMom2016ID='{4C0A552D-FD2B-4E11-AE2F-4C02A27CDFE5}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2016.XML___Failed_to_instantiate_class._Make_sure_Msxml2.dll_exists_in_the_SQL_Server_installation_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{4C0A552D-FD2B-4E11-AE2F-4C02A27CDFE5}';MOM2016GroupID={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">
<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="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>6608</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.2016.XML___Failed_to_instantiate_class._Make_sure_Msxml2.dll_exists_in_the_SQL_Server_installation_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>