Frage

Jeden Morgen haben wir einen Prozess, der zahlreiche Anfragen (~ 10000) DB2 auf einer AS400 / iSeries / i6 (was auch immer IBM nennt es heute), in den letzten 2 Monaten, die Betreiber haben sich beschwert, dass unsere Abfrage sperrt ein ausstellt paar Dateien, um sie von dem Abschließen ihrer nächtlichen Verarbeitung zu verhindern. Die Abfragen sind sehr simplisitic, z

Select [FieldName] from OpenQuery('<LinkedServerName>', 'Select [FieldName] from [LibraryName].[FieldName] where [SomeField]=[SomeParameter]')

Ich bin kein Experte auf der iSeries-Seite des Hauses und wundere mich, wenn jemand einen Einblick auf der Sperreneskalation von einer AS400 / Db2 Perspektive hatte. Die ID, die die Sperre verursacht wurde bestätigt die ID werden wir unsere Verbindungsserver als registriert und wir wissen, seine höchstwahrscheinlich uns, weil die [Bibliothek] und [Dateiname] im Einklang mit der Abfrage, die wir ausgeben.

Das ist passiert vor kurzem begonnen. Ist es möglich, dass unsere select-Anweisungen, die die AS400 verursachen Sperren zu eskalieren? Das Problem ist, sie sind nicht ohne manuellen Eingriff freigegeben wird.

War es hilfreich?

Lösung

Versuchen Sie, „FOR READ ONLY“, um die Abfrage hinzufügen, dann wird es keine Aufzeichnungen sperren, wie Sie sie abgerufen werden.

Andere Tipps

Schreibe in die Dateien auf der AS / 400-Seite von einem RPG / COBOL / JPL Job-Programm wird eine Dateisperre verursachen (standardmäßig glaube ich). Der Auftrag wird nicht in der Lage diese Sperre zu erhalten, wenn Sie gerade lesen. Die Lösung, die wir verwendet wurde, war ... die Dateien nicht lesen, wenn Aufträge ausgeführt werden. Wir haben eine große Zeitplan Blatt in Excel und setzen alle SQL-Server und AS / 400 die Arbeitsplätze auf sie in Zeitschlitze w / Farbcodierung für Bedeutung und Server. Auf diese Weise keine Konflikte oder aus Extrakt von Datum Dateien entweder.

Sie könnten COMMIT-Steuerung haben eine Sperre für eine Wiederholtes Lesen verursacht. Überprüfen Sie den SQL Server ODBC-Verbindung mit <linkedServerName> verbunden, um die COMMIT-Steuerung zu ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top