
Ich überarbeite die gesamte IT-Infrastruktur eines kleinen Büros. Dort war ein Dell T410 installiert, der nichts anderes tat, als als Win2k8-Dateifreigabe zu dienen. Ich dachte mir, ich könnte seine Funktionalität auf einem ungenutzten Desktop mit Vista replizieren, während ich den Server für einen Neuaufbau herunterfahre.
Das ist ja alles schön und gut, aber sie haben gleichzeitig auf eine Access-Datenbank außerhalb der Freigabe zugegriffen. Auf dem T410 funktionierte das langsam, aber nachdem ich es auf den temporären Server migriert hatte, konnte es immer nur von einem Benutzer gleichzeitig verwendet werden – zusätzliche Benutzer bringen es zum Stillstand. Für Abfragen gibt es Pausen von 30 bis 60 Sekunden. Alles andere läuft recht gut.
Damit hatte mein Vorgänger zu tun, und die Bürodamen sagen, er habeetwasauf dem Server, um die Abfragezeit auf 5-10 Sekunden zu verkürzen. Sie laufen sofort im Einzelbenutzermodus, aber es gibt keine Dokumentation darüber, was er getan hat, um dies für mehrere Benutzer zu mildern. Der Server hatte, soweit ich das beurteilen konnte, keine RAMDISK, kein RAID-Setup oder sonst etwas Besonderes.
Zuerst dachte ich, die Festplatte könnte langsam sein, also habe ich eine RAMDISK eingerichtet und hoste diese eine bestimmte Datei darauf. Der Einzelbenutzerzugriff ist jetzt rasend schnell, aber der Mehrbenutzerzugriff ist immer noch genauso langsam. Als nächstes dachte ich, die Netzwerkkarte könnte ein Engpass sein, aber ich habe den Ressourcenmonitor beobachtet und nichts ist auch nur annähernd voll. Mein nächster Gedanke war, die Hardware/Vista dafür verantwortlich zu machen, aber es ist ein Dell irgendwas Core 2 Duo mit 3 GB RAM, und Vista Business ist das einzige Betriebssystem, für das ich eine Ersatzlizenz habe. Sollte für die anstehende Aufgabe ausreichen.
Ich habe viele ähnliche Beschwerden über schlecht konzipierte Access-Datenbanken gesehen, die in Mehrbenutzerumgebungen unbrauchbar sind, gefolgt von Vorschlägen, die Datenbank in Front-Ends und Back-Ends aufzuteilen, aber ich bin nicht bereit, viel Zeit damit zu verbringen, Access zu optimieren, wenn man bedenkt, dass mein nächstes Projekt nach dem Neuaufbau des Servers die Neugestaltung des gesamten Back-Ends in SQL Server ist. Außerdem konnte der letzte Typ das Problem teilweise beheben, ohne etwas zu überarbeiten (so viel weiß ich). In der Zwischenzeit tötet dies jedoch die Produktivität.
Was könnte sich zwischen dem alten und dem neuen Server geändert haben? Gibt es einfache Dinge, die ich ändern kann, um die Abfragezeit wieder auf ein vernünftiges Maß zu reduzieren?
Antwort1
Das Aufteilen in fe,be ist nicht kompliziert. Dann verknüpfen Sie Tabellen von be. Dies sind die Bereitstellungsgrundlagen für MS Access. Wenn Sie mit MSSQL Build konfrontiert sind, ist das Aufteilen einer Datenbank sehr einfach.