MSSQL en Windows: XML: no se pudo crear una instancia de la clase. Asegúrese de que Msxml2.dll existe en la instalación de SQL Server

Microsoft.SQLServer.Windows.EventRule.DBEngine.XML___Failed_to_instantiate_class._Make_sure_Msxml2.dll_exists_in_the_SQL_Server_installation_1_5_Rule (Rule)

Falta el archivo Msxml2.dll en el equipo en el que está instalado SQL Server, o bien no se pudo cargar desde el directorio del sistema durante el procesamiento de una característica XML como sp_xml_preparedocument. Si el archivo existe, puede que no esté bien registrado o que no exista una de sus dependencias.

Knowledge Base article:

Resumen

El archivo Msxml2.dll no está en el equipo en el que está instalado SQL Server, o bien no se pudo cargar desde el directorio de sistema durante el procesamiento de una característica XML como sp_xml_preparedocument. Si el archivo existe, puede que no esté bien registrado o que una de sus dependencias no exista.

Si ha instalado MSDE SP3a en un equipo que no dispone de una versión anterior de MSDE instalada, puede que el archivo Msxml2.dll no se haya instalado. Si dispone de otra edición de SQL Server, puede que el archivo se haya quitado mediante la desinstalación de un programa, o bien que se haya eliminado o anulado su registro manualmente.

Resoluciones

Busque el archivo Msxml2.dll en el equipo con SQL Server. Si el archivo existe, compruebe que se ha registrado correctamente.

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

Habilita o deshabilita el flujo de trabajo.

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

300

Prioridad

Define la prioridad de alerta.

1

Gravedad

Define la gravedad de alerta.

2

Hora de sincronización

Hora de sincronización

 

Tiempo de espera (segundos)

Especifica el tiempo que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo.

200

Tiempo de expiración de la conexión de base de datos (segundos)

Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL en Windows: XML: no se pudo crear una instancia de la clase. Asegúrese de que Msxml2.dll existe en la instalación de SQL Server
{0}
CommentMom2017ID='{4C0A552D-FD2B-4E11-AE2F-4C02A27CDFE5}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.XML___Failed_to_instantiate_class._Make_sure_Msxml2.dll_exists_in_the_SQL_Server_installation_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{4C0A552D-FD2B-4E11-AE2F-4C02A27CDFE5}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>6608</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.XML___Failed_to_instantiate_class._Make_sure_Msxml2.dll_exists_in_the_SQL_Server_installation_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>