Wann und wie die Größe von Microsoft Access-Datenbanken auf SQL Server erhöht wird

Nachdem Sie nun die verschiedenen verfügbaren Architekturen und Datenbankmoduloptionen gesehen haben, sollten Sie die Entscheidungspunkte und Parameter für die Größenanpassungsentscheidung untersuchen.

Der wichtigste Teil in diesem Prozess ist zu verstehen, dass nicht alle Accessdatabases vergrößert werden müssen. Tatsächlich sollte die Mehrheit der Access-Anwendungen nicht vergrößert werden – die Kosten und die Unterbrechung des Geschäfts sind einfach keine kostengünstige Nutzung Ihrer Ressourcen. Diese Datenbanken funktionieren täglich einwandfrei und benötigen keine Attribute wie Skalierbarkeit, Sicherheit und 100% ige Zuverlässigkeit. Von allen Access-Datenbanken in Ihrer Organisation sind nur wenige Kandidaten für Upsizing.

Darüber hinaus kann aus der Liste der Kandidaten für die Größenanpassung eine Mehrheit mithilfe eines kostengünstigen Prozesses vergrößert werden, bei dem nur die Daten in SQL Server verschoben werden. Die gesamte Funktionalität der Anwendung in Form von Formularen und Berichten wird in Access gehalten. Nur der kleinste Prozentsatz von Upsizing-Projekten beinhaltet das Umschreiben der Accessapplication in einer neuen Umgebung wie .NET.

Microsoft Access Upsizing Opportunities for SQL Server

Im folgenden Abschnitt werden die einzelnen Schlüsselbereiche der Datenbankplanung untersucht und die Leistung von Access in den einzelnen Bereichen erläutert.

Sicherheit

Microsoft Access bietet drei verschiedene Sicherheitsmechanismen.

  1. Datenbankkennwörter: Weisen Sie einer Datenbank ein Kennwort zu. Nur Benutzer, die das Kennwort kennen, können die Datenbank öffnen.
  2. Jet Workgroup Security: Benutzer, Gruppen und Objektberechtigungen können definiert werden, um einzuschränken, wer Daten anzeigen / bearbeiten und was sie ausführen können. Workgroup Security ist für MDB-Datenbanken verfügbar, jedoch nicht für ACCDB-Datenbanken.
  3. Dateiverschlüsselung: Inhalte der Datenbank können auf Dateiebene verschlüsselt werden. Die ACCDB-Verschlüsselung ist deutlich besser als die Verschlüsselung für MDBs.

Leider sind diese Mechanismen weder robust noch zuverlässig. Datenbankkennwörter verwenden einen sehr einfachen Verschlüsselungsmechanismus. In der Tat ist das Entfernen eines Access-Datenbankkennworts einfach, da kostenlose und kommerzielle Passwort- „Entferner“ im Internet leicht zu finden sind. Während Access-Benutzer möglicherweise nicht über solche Fehler besorgt sind, sollten IT-Manager dies auf jeden Fall tun.

Jet Workgroup Security ist zwar robuster, lässt aber den Inhalt der gesamten MDB-Datenbank im Dateisystem offen. Da alle Tabellendaten und der Code in der einfachen Ansicht gespeichert sind, ist es trivial, eine MDB-Datei in einem zeichenfolgenkompatiblen Editor zu öffnen und Code, Kennwörter und Tabellendaten anzuzeigen.

Schließlich kann jeder, der ein freigegebenes Netzlaufwerk sehen kann, mit der Datenbank auf einer Festplatte oder einem CDR fortfahren oder sie außerhalb Ihrer Organisation per E-Mail senden, da Access für alle Benutzer vollständige Leseberechtigungen für die eigentliche Datenbankdatei erfordert.

Wenn Sicherheit von Bedeutung ist, ist SQL Server viel sicherer als Microsoft Access, Excel, Word oder ein anderes Programm, das seine Dateien direkt auf der für den Benutzer zugänglichen Festplatte speichert.

Zuverlässigkeit und Wartung

Zuverlässigkeit ist einer der wichtigsten Benchmarks, die bei Upsizing berücksichtigt werden müssen. In der Tat ist Zuverlässigkeit für viele geschäftskritische Anwendungen die wichtigste Überlegung. Microsoft Access ist aus mehreren Gründen nicht so zuverlässig wie SQL Server.

Datenbankbeschädigung

Wenn Microsoft Access / Jet-Datenbanken auf einen unerwarteten internen Fehler oder ein Verbindungsproblem stoßen, können sie beschädigt werden. Eine beschädigte Datenbank sperrt im Allgemeinen alle Benutzer der Datenbank aus und führt zu Datenverlust und Betriebsstörungen.

Microsoft Access / Jet-Datenbanken sind aus mehreren Gründen anfälliger für Beschädigungen als SQL Server. Da Access / Jet ein Dateifreigabemodell verwendet, halten alle Benutzer gleichzeitig aktive Verbindungen zu Daten. Wenn einer dieser Benutzer unerwartet die Verbindung verliert, kann die Datenbank beschädigt werden. Ein Verbindungsverlust kann auftreten, wenn die Netzwerkverbindung des Benutzers unterbrochen ist, die Treiberversionen nicht aktuell sind oder widersprüchliche Versionen der Jet-DLLs zum Lesen derselben Datenbankdatei verwendet werden.

Microsoft Access enthält ein Komprimierungs- / Reparaturdienstprogramm, aber schwerwiegende Datenbankbeschädigungen werden von diesem Dienstprogramm nicht behoben. Dies erfordert jedoch, dass die betroffene Datenbank an einen anderen Ort gesendet wird, eine Gebühr entrichtet wird und darauf gewartet wird, dass sie mit gemischten Ergebnissen zurückgegeben wird.

Wartungsprobleme

Windows ermöglicht das Kopieren einer Microsoft Access-Datenbank, auch wenn sie geöffnet ist, sodass Sie ein Backup erstellen können.

Das Komprimieren einer Microsoft Access-Datenbank erfordert, dass sich alle Benutzer außerhalb der Datenbank befinden, was für Lösungen, die 24/7 ausgeführt werden, problematisch ist. Die Datenbank wird auf Dateiebene gesperrt (*.ldb oder *.b. laccdb-Dateien), sobald sie vom ersten Benutzer geöffnet wird.

Planen der Komprimierung und Reparatur von Microsoft Access-DatenbankenÜberwachen Sie Ihre Microsoft Access-Datenbanken in EchtzeitIn einer Mehrbenutzerumgebung teilt Microsoft Access Ihnen nicht mit, wer sich derzeit in der Datenbank befindet. Mit unserem Total Access-Administratorprogramm können Sie die Benutzer, die in die Datenbank ein- und aussteigen, in Echtzeit überwachen, was hilft und die Datenbank komprimieren kann, nachdem alle beendet wurden, aber es ist keine integrierte Funktion von Microsoft Access.

Es ist oft schwierig, den Prozess zu koordinieren, bei dem sichergestellt wird, dass sich alle Benutzer von einer Access-Anwendung abmelden, bevor eine Sicherung erstellt wird.Typische Szenarien beinhalten Benutzer, die ihre Computer eingeschaltet lassen, wenn sie das Büro für den Tag verlassen. Dadurch bleibt die Datenbank geöffnet und die Backup-Software kann die Datenbankdatei nicht zuverlässig kopieren. Oft wird dies erst erkannt, nachdem die Sicherung fehlschlägt, sodass der Systemadministrator das Problem aufspüren und hoffen kann, dass es vor der nächsten Sicherung behoben wird.

Darüber hinaus ist Microsoft Access nicht selbstoptimierend wie SQL Server. Es gewinnt nicht automatisch verlorenen Datenbankspeicher zurück oder optimiert Indizes und Abfragen. Diese Wartung wird durch Ausführen der Funktion Reparieren / Komprimieren durchgeführt. Mit unserem Total Visual Agent-Programm können Sie dies nach einem von Ihnen festgelegten Zeitplan automatisieren und einen Prüfpfad verwalten.

Wenn eine Organisation einzelne Desktopdatenbanken nicht regelmäßig sichert, können Benutzer Access-Datenbanken auf ihren PCs erstellen, die niemals gesichert oder gewartet werden. Organisationen können sie als Benutzerdaten behandeln, die verloren gehen können, als wäre es eine Excel-Tabelle oder ein Word-Dokument, aber es sollten bessere Richtlinien vorhanden sein, damit Benutzer ihre Datenbanken speichern können, in denen die grundlegende Systemadministration bereitgestellt wird.

Microsoft Access-Datenbanken müssen für die Notfallwiederherstellung gesichert und regelmäßig komprimiert werden, um fehlerfrei zu bleiben. Ein automatisiertes System sollte implementiert werden, um dies für die vielen Access-Datenbanken zu gewährleisten, die heute existieren und in Zukunft erstellt werden. SQL Server Upsizing sollte für Datenbanken in Betracht gezogen werden, bei denen solche automatisierten Prozesse aufgrund der kontinuierlichen Nutzung der Datenbank nicht implementiert werden können oder die Kosten für den Verlust von Daten hoch sind.

Skalierbarkeit

Skalierbarkeit ist definiert als die Fähigkeit einer Anwendung, in akzeptabler Weise zu arbeiten, wenn die Anzahl der Benutzer oder Prozesse, die die Anwendung aufrufen, zunimmt. In einigen Situationen kann Microsoft Access / Jet nicht skaliert werden, um die Anforderungen an die Datenbank zu erfüllen.

Architektur der geteilten Datenbank

Bevor Sie eine Größenanpassung vornehmen, sollte Ihre Access-Datenbank über eine Architektur der geteilten Datenbank verfügen. Dadurch wird die Benutzeranwendungsdatenbank von der Back-End-Datenbank für gemeinsam genutzte Daten getrennt. Die Front-End-Anwendungsdatenbank wird mit der freigegebenen Datenbank verknüpft, und Upgrades sind einfacher, da die Daten für neue Releases nicht geändert werden müssen (vorausgesetzt, Tabellenstrukturen werden nicht geändert). Weitere Informationen finden Sie in unserem Dokument zur geteilten Datenbankarchitektur von Microsoft Access zur Unterstützung von Mehrbenutzerumgebungen, zur Verbesserung der Leistung und zur Vereinfachung der Wartbarkeit. Die Split-Datenbank-Architektur wird auch in einem Upsizing Bestreben helfen, den bestehenden Zugang Front-End zu erhalten.

Wenn sich eine einzelne Kopie einer Microsoft Access-Datenbank auf einem Netzlaufwerk befindet und von mehreren Benutzern gleichzeitig geöffnet wird, liegt möglicherweise ein Skalierbarkeitsproblem vor. Dies sollte jedoch durch die Verwendung einer geteilten Datenbankarchitektur anstelle eines Upsizings auf SQL Server behoben werden.

Anzahl der gleichzeitigen Benutzer

Es gab Mythen darüber, dass Microsoft Access-Datenbanken nicht mehr als 20 Benutzer unterstützen können. Das mag bei der Einführung von Microsoft Access im Jahr 1992 der Fall gewesen sein, aber das ist seit geraumer Zeit NICHT mehr der Fall.

Microsoft Access erlaubt technisch bis zu 255 Verbindungen pro Datenbank. Das bedeutet, dass es für Anwendungen für Teams viele Male verwendet werden kann, wenn sie es nicht alle gleichzeitig verwenden müssen.

Die Anzahl der Verbindungen / Benutzer, die eine Access-Datenbank unterstützen kann, hängt davon ab, wie gut die Anwendung entworfen und implementiert wurde. Eine gut gestaltete Access-Anwendung kann 100+ gleichzeitige Benutzer mit anständiger Leistung unterstützen. Auf der anderen Seite kann eine schlecht gestaltete Access-Anwendung mit zwei Benutzern gleichzeitig ausgeführt werden. Oder einige Prozesse sind nur zeitaufwändig und werden langsam sein, egal welche Datenbank verwendet wird. Es geht wirklich nicht um die Technologie, sondern um die Implementierung.

Leider sind viele Access-Datenbanken nicht gut konzipiert oder mit Best Practices implementiert. Dies liegt daran, dass die meisten Access-Datenbanken von Benutzern erstellt werden, die einfach nicht über die Erfahrung oder das Wissen verfügen, um professionelle Datenbankanwendungen zu erstellen. Sie werden im Laufe der Zeit erstellt und bei Bedarf werden neue Funktionen und Datenmodelle hinzugefügt. Das Ergebnis ist eine Gesamtlösung, die nicht mehr als wenige Anwender zuverlässig unterstützen kann.

Erhöhen Sie die Größe von Microsoft Access-Anwendungen aus Gründen der Benutzeranzahl nicht, wenn die Anzahl der gleichzeitigen Benutzer relativ gering ist. Upsizing sollte in Betracht gezogen werden, wenn in Zukunft mehr als 100 gleichzeitige Benutzer und mehr unterstützt werden müssen.

Maximale Datenbankgröße

Jede Microsoft Access-Datenbank hat eine maximale Größe von 2 GB. Das sind viele Text- und numerische Daten, die jedoch leicht überschritten werden können, wenn Dateien und Grafiken gespeichert werden. Für die überwiegende Mehrheit der Microsoft Access-Datenbanken ist das viel größer als die Datenbank jemals bekommen wird. Manchmal werden Datenbanken groß, aber ein kompakter reduziert sie normalerweise auf eine vernünftigere Größe. Stellen Sie sicher, dass Sie auch Ihre Microsoft Access-Datenbanken von Zeit zu Zeit dekompilieren, wenn komprimieren.

Bei einer geteilten Datenbankarchitektur kann eine Microsoft Access-Anwendung mit Daten aus mehreren Microsoft Access-Datenbanken verknüpfen, die mehr als 2 GB umfassen. Natürlich ist das kein gutes Design, wenn Daten nicht auf mehrere Tabellen oder Datenbanken aufgeteilt werden sollen.

Upsizing sollte in Betracht gezogen werden, wenn die Datenbank 1 GB überschreitet oder in naher Zukunft 2 GB überschreiten wird.

Verschiedene Versionen von Microsoft Access und Jet

Microsoft Access Database LauncherEs gibt viele Versionen von Microsoft Access. Eine Access-Datenbanklösung kann von einer bestimmten Version eines Access-Datenbankformats abhängig sein, sich auf Funktionen verlassen, die nur in bestimmten Versionen von Access verfügbar sind, Komponenten wie ADO und DAO usw. Es ist zwar einfach, eine Access-Datenbank an Benutzer zu verteilen, die Access bereits auf ihrem PC installiert haben, es ist jedoch nicht so einfach zu steuern, welche Version von Access zum Ausführen geöffnet wird.

Auf einem PC sind möglicherweise mehrere Versionen von Access installiert. Durch das Öffnen einer ACCDB- oder MDB-Datei wird direkt die Access-Version gestartet, die dieser Dateierweiterung zugeordnet ist (normalerweise die zuletzt geöffnete Access-Version).

Außerdem war das neue MDB-Dateiformat bei der Einführung von Access 2000 nicht mit der vorherigen Access 97-Version kompatibel. Das Öffnen der Datenbank in Access 2000 (oder höher) konnte die Datenbank auf das neue Format aktualisieren und verhindern, dass Benutzer der alten Version sie öffnen, was in Mehrbenutzerumgebungen ein Problem darstellte. Dieses Problem ist seit der Version 2000 nicht mehr aufgetreten.

Mit unserem Total Access-Startprogramm können Unternehmen Microsoft Access-Datenbanken zentral auf dem Desktop jedes Benutzers verwalten und bereitstellen und steuern, welche Version von Access für ihn gestartet wird. Dies macht es einfach, Ihre Access-Anwendungen mit einer Verknüpfung zu verteilen, und die neueste Version Ihrer Datenbank wird immer auf dem Computer jedes Benutzers installiert. Es macht es auch einfach, Ihre Anwendung von einer Version von Access auf eine andere zu aktualisieren.

Probleme beim Verwalten verschiedener Versionen von Microsoft Access oder beim Verteilen von Updates von Microsoft Access-Datenbanken werden durch die Migration zu SQL Server nicht gelöst, wenn Sie das Access-Frontend Ihrer Datenbank beibehalten. Es kann nur behoben werden, indem Microsoft Access vollständig ersetzt wird. Das mag das unmittelbare Problem lösen, aber es verhindert, dass Benutzer ihre Arbeit erledigen. Wir haben gesehen, dass Organisationen Microsoft Access nur für Mitarbeiter verbieten, schlechtere Datenbankprodukte zu kaufen, da das Datenbankproblem nicht verschwunden ist. Für die meisten Organisationen ist es unpraktisch, professionelle Entwickler zu verwenden, um jede benötigte Datenbank zu erstellen, wenn die meisten von Endbenutzern gehandhabt werden können.

Leistung

Leistung ist ein häufiger Grund, warum Benutzer ihre Microsoft Access-Datenbanken auf SQL Server aktualisieren möchten. Es wird davon ausgegangen, dass SQL Server schneller ausgeführt wird als eine Microsoft Access-Datenbank. Schließlich wird SQL Server von einem separaten Server verwaltet, der nur die angeforderten Datensätze sendet und mehrere CPUs und Computer verwenden kann, um große Datensätze zu verwalten.

Microsoft Access ist dateibasiert und sendet die gesamte Datenbank, Tabelle oder den gesamten Index, abhängig von der Anforderung, die der Client (PC) verarbeiten soll.

Microsoft Access Database AnalyzerWährend dies dem Serveransatz den Vorteil verschaffen würde, haben wir festgestellt, dass die Leistung in vielen Situationen NICHT verbessert wird. Hier sind einige Gründe:

  • Viele Access-Datenbanken sind relativ klein (unter 100 MB). Mit der aktuellen Hardware- und Netzwerkkonnektivität sind die übergebenen Datenmengen fast augenblicklich, unabhängig davon, ob es sich um einige Datensätze oder die gesamte Tabelle handelt.
  • SQL Server führt zusätzliche Arbeit aus, die Access-Datenbanken nicht leisten. SQL Server kann beispielsweise ein Transaktionslog verwalten und führt eine kontinuierliche Wartung durch, die den Overhead erhöht. Wir haben Leistungseinbußen festgestellt, wenn kleine Datenbanken auf SQL Server aktualisiert werden.
  • SQL Server ist für die Verarbeitung sehr großer Datenbanken ausgelegt, die weit über die Zugriffsgrenze von 2 GB hinausgehen. Es ist nicht für das optimiert, was es als winzige Datenbanken betrachten würde.
  • Das Ausführen von Abfragen aus verschiedenen verknüpften Tabellenquellen profitiert möglicherweise nicht von der SQL Server-Optimierung, da die Arbeit weiterhin von Access ausgeführt wird
  • Das Zwischenspeichern von Daten durch Microsoft Access für Access-Tabellen ist vorhanden, da bekannt ist, ob sich die Daten geändert haben. Bei SQL Server-Daten ist das Zwischenspeichern im Arbeitsspeicher nicht möglich, da sich die Daten möglicherweise seit der letzten Anforderung geändert haben.
  • Ein schlecht entworfener Satz von Tabellen, Abfragen oder VBA-Code wird langsam ausgeführt, unabhängig davon, ob sich die Daten in Access oder SQL Server befinden.

Bevor Sie aus Leistungsgründen die Größe auf SQL Server erhöhen, stellen Sie sicher, dass Ihre Access-Datenbank so optimiert ist, dass sie in Access so gut wie möglich ausgeführt wird. Wenn Sie zu SQL Server wechseln, werden schwerwiegende Probleme mit dem Datenbank- und Abfragedesign nicht behoben. Das Beheben dieser Probleme in Access ist tatsächlich einfacher als später in SQL Server, sodass die dafür aufgewendete Zeit und Mühe erhalten bleibt, wenn Sie später die Größe erhöhen.

Um sicherzustellen, dass Ihre Microsoft Access-Datenbank keine ernsthaften Probleme aufweist, verwenden Sie unser Total Access Analyzer-Programm, um Ihre Datenbank zu dokumentieren und zu analysieren. Es erkennt über 300 Arten von Fehlern, Entwurfsvorschlägen und Leistungsproblemen, mit denen Sie Ihre Access-Datenbank optimieren können.

Bei relativ kleinen Microsoft Access-Datenbanken sollten Sie die Größe nicht nur aus Leistungsgründen auf SQL Server erhöhen. Nach dem Upsizing kann die Leistung abnehmen. Suchen Sie nach Möglichkeiten, um die Probleme in Access zu optimieren, bevor Sie die Investition in Upsize tätigen. Leistungsprobleme können nicht mit der Datenspeicherung zusammenhängen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Previous post Picha Farms’Pumpkin Patch in Puyallup, WA
Next post Verbinden. Entdecken. Aktie.