Wenn Sie sp_xml_preparedocument ausführen, wird ein analysiertes XML-Dokument im internen Cache von SQL Server 2000 gespeichert. Der MSXML-Parser beansprucht bis zu einem Achtel des insgesamt für SQL Server verfügbaren Arbeitsspeichers. Der Teil des Caches, der für MSXML reserviert ist, bietet nicht genug Arbeitsspeicher, um das in der Anweisung sp_xml_preparedocument angegebene Dokument zu öffnen. Dies kann daran liegen, dass das angegebene Dokument sehr groß ist oder dass aufgrund von Dokumenten, die bereits in den Arbeitsspeicher geladen wurden, nicht mehr genug Speicher für das neue Dokument verfügbar ist.
Weitere Informationen zum Analysieren von XML-Dokumenten finden Sie in den Themen zu sp_xml_preparedocument und sp_xml_removedocument in der Onlinedokumentation.
Führen Sie sp_xml_removedocument aus, um Dokumente aus dem Arbeitsspeicher zu entfernen. Stellen Sie sicher, dass Ihr Code immer sp_xml_removedocument abruft, wenn die Verarbeitung eines Dokuments abgeschlossen wurde. Beim Code sollte immer die Möglichkeit einer Verbindungs- oder Transaktionsunterbrechung zwischen sp_xml_preparedocument-Aufrufen und sp_xml_removedocument-Aufrufen berücksichtigt sein. Hierzu müssen Sie offene Dokumenthandles in einer Tabelle speichern, in der Sie auf diese verweisen können, wenn ein Batch unterbrochen wird.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Priorität | Definiert die Warnungspriorität. | 1 |
Schweregrad | Definiert den Warnungsschweregrad. | 1 |
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 6624 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2008ID='{136A2E5E-A460-4FAE-8587-D72C945E89EB}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2008.XML___XML_document_could_not_be_created_because_server_memory_is_low._Use_sp_xml_removedocument_to_release_XML_documents_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{136A2E5E-A460-4FAE-8587-D72C945E89EB}';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>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.2008.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>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>