SQL Server beim Abbrechen einer DB2-Abfrage möglicherweise Zugriffsverletzungen auftreten
Dieser Artikel hilft Ihnen, das Problem zu beheben, das auftritt, wenn ein Benutzer eine Abfrage eines verknüpften Servers für eine IBM DB2-Datenbank abbricht.
Ursprüngliche Produktversion: Host Integration Server 2010
Ursprüngliche KB-Nummer: 2761993
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
Sie verfügen über einen verknüpften Server, der eine Verbindung mit einer IBM DB2-Datenbank mithilfe des OLE DB-Anbieters für DB2 herstellt.
Die DB2-Verbindungszeichenfolge enthält den
Rowset Cache SizeParameter mit einem Wert ungleich Null (z. B.Rowset Cache Size=100).
Wenn ein Benutzer versucht, eine Abfrage abzubrechen, die derzeit über den verknüpften Server an die IBM DB2-Datenbank ausgeführt wird, meldet der SQL Server Prozess möglicherweise eine Zugriffsverletzung und erstellt eine Speicherabbilddatei.
Ursache
Das Problem tritt aufgrund eines Synchronisierungsproblems im Microsoft OLE DB-Anbieter für DB2 auf, wenn eine ausgeführte Abfrage abgebrochen wird, wenn das Rowset Cache Size Feature aktiviert ist.
Lösung
Ändern Sie die DB2-Verbindungszeichenfolge im verknüpften Server, um den Parameter einzuschließen: Rowset Cache Size=0
Der SQL Server Prozess muss nach dieser Änderung neu gestartet werden, um sicherzustellen, dass die neue Verbindungszeichenfolge vom DB2-Anbieter geladen wird.
Weitere Informationen
Der RowSet Cache Size Parameter weist den DB2-Datenanbieter an, Zeilen aus DB2 vorab abzurufen, während gleichzeitig Zeilen verarbeitet und an den Datenverbraucher zurückgegeben werden. Dieses Feature kann die Leistung bei schreibgeschützten Massenvorgängen auf Computern mit mehreren Prozessoren oder Kernen verbessern. Der Standardwert für diese Eigenschaft ist 0 (Rowset Cache Size=0), was angibt, dass das optionale Pre-Fetch-Feature "aus" ist.
Es wird nicht empfohlen, diesen Parameter (verwenden Sie einen Wert ungleich Null) für andere Szenarien als Massenlesevorgänge zu aktivieren, die ein hohes Leistungsniveau erfordern.