XML : impossible de créer le document XML car la mémoire du serveur est faible. Libérez des documents XML à l'aide de sp_xml_removedocument

Microsoft.SQLServer.2005.XML___XML_document_could_not_be_created_because_server_memory_is_low._Use_sp_xml_removedocument_to_release_XML_documents_1_5_Rule (Rule)

Knowledge Base article:

Résumé

Lorsque vous exécutez sp_xml_preparedocument, un document XML analysé est stocké dans le cache interne de SQL Server 2000. L'analyseur MSXML utilise jusqu'à un huitième de la mémoire totale disponible pour SQL Server. Il n'y a pas assez de mémoire dans la portion de cache allouée à MSXML pour ouvrir le document spécifié dans l'instruction sp_xml_preparedocument. Cela peut provenir du fait que le document spécifié est très volumineux ou que les documents déjà présents dans l'espace mémoire ne laissent pas suffisamment de place pour le nouveau document.

Pour plus d'informations sur l'analyse de documents XML, voir « sp_xml_preparedocument » et « sp_xml_removedocument » dans la documentation en ligne.

Solutions

Exécutez sp_xml_removedocument pour supprimer des documents de la mémoire. Vérifiez que votre code appelle systématiquement sp_xml_removedocument lorsque vous avez terminé le traitement d'un document. Dans votre code, tenez compte du fait qu'une connexion ou transaction peut être interrompue entre les appels sp_xml_preparedocument et sp_xml_removedocument. Pour ce faire, vous pouvez stocker dans une table des descripteurs de documents ouverts où vous pouvez les référencer en cas d'interruption d'un lot d'instructions.

Element properties:

TargetMicrosoft.SQLServer.2005.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID6624
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
XML : impossible de créer le document XML car la mémoire du serveur est faible. Libérez des documents XML à l'aide de sp_xml_removedocument
{0}
Event LogApplication
CommentMom2005ID='{136A2E5E-A460-4FAE-8587-D72C945E89EB}';MOM2005GroupID={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.2005.XML___XML_document_could_not_be_created_because_server_memory_is_low._Use_sp_xml_removedocument_to_release_XML_documents_1_5_Rule" Target="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2005ID='{136A2E5E-A460-4FAE-8587-D72C945E89EB}';MOM2005GroupID={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>6624</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2005.XML___XML_document_could_not_be_created_because_server_memory_is_low._Use_sp_xml_removedocument_to_release_XML_documents_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>