Blockade bei Zugriff über Excel

10/10/2008 - 11:39 von HaLo | Report spam
Hallo,

ich habe hier ein ernstes Problem beim Zugriff auf eine SQL-DB von
Excel aus. Folgende Konstellation ist gegeben:

Unser ERP-System mit einer eigenen (C++) Datenbank repliziert alle
Daten online (in Echtzeit) in eine SQL-Datenbank auf einem SQL-Server
2000.

Auf diese SQL-DB wird via ODBC vorwiegend mit ADPs zugegriffen aber
auch mit zwei Excel-Dateien. Das Problem ist jetzt, dass wir immer
wieder unser ERP-System blockieren, wenn User mit Excel Daten abrufen.
In dem Moment, in dem die Daten über Daten aktualisieren geholt werden
sollen, zeigt Excel in der Statusleiste "Verbindung zur
Datenquelle ..." an. Es ist wohl so, dass dieser Zugriff alle anderen
Zugriffe auf den SQL-Server blockiert und damit auch die
Replikationspipe unseres ERP-Systems.

Das ist echt übel, denn wenn 50 User plötzlich ein stehendes System
vor sich sehen, klingelt bei mir gleich das Telefon. Zudem kann das zu
echtem Schaden führen, denn wenn nur einer davon eine stehende
Transaktion abbricht, bekomme ich Fehler in der ERP-DB. Wenn es gut
geht, habe ich nur Inkonsistenzen - wenn es schlecht làuft ist die DB
defekt - ganz mieß :-(

Komischerweise braucht die Verbindung zum SQL-Server nicht immer so
viel Zeit und legt damit nicht immer alles lahm. Ich konnte aber kein
Muster erkennen. Weder die Excel- noch die Betriebssystem-Version der
Clients geben mir hier einen Anhaltspunkt. Auch die Rechte auf dem SQL
spielen keine Rolle. Ich vermute daher dass es was mit der Auslastung
bzw. dem Handling des SQL-Server zu tun hat, wie lange die
Authentifizierung dauert und damit die Blockade. Könnte es an den ODBC-
Einstellungen bzw. der Version des ODBC-Clients liegen? Kann ich hier
irgendetwas besser konfigurieren?

Ich bin für jede Hilfe dankbar.

Grüße,

Hanno
 

Lesen sie die antworten

#1 Christoph Ingenhaag
10/10/2008 - 13:41 | Warnen spam
Hi Hanno

Schau dir doch mal die Ausgabe von sp_who bzw sp_who2 an (hier insbesondere
die Spalten blk bzw blkby).

Vieles geblockt? :D

Hier mögliche Maßnahmen:
-Stelle eine Kopie der Datenbank für die Exceluser (am besten auf einen
anderen Server) bereit in einem evtl. vorhanden Wartungsfenster bereit.
-Exporiere, in Zeiten in denen wenig gearbeitet wird, die Daten für die
Exceluser in eine andere Datenbank (am besten auf einen anderen Server)
...

So etwas in dieser Art, hauptsache, Excel (und auch kein anders System,
welches Auswertungen macht) greift nicht auf die produktiven Daten zu!!

Als grober Hinweis: Lies dich mal über den Unterschied zwischen OLAP und
OLTP schlau und zieh daraus deine Schlüsse...


Vg
Christoph

Ähnliche fragen