Die Microsoft Data Engine (MSDE)

Access ist bekanntlich die weitverbreitetste Datenbankanwendung für Windows-Betriebssysteme. Trotzdem ist Access nicht uneingeschränkt einsetzbar: Es gibt z. B. Einschränkungen bezüglich des maximalen Speicherplatzes. Ebenso nimmt die Geschwindigkeit mit wachsender Benutzeranzahl ab. Für die Anwendung mit größeren Datenmengen und höheren Benutzerzahlen bietet Microsoft daher den SQL-Server an. Außerdem bietet der SQL-Server die Möglichkeit des Einsatzes in einer echten Client-Server-Umgebung – im Gegensatz zu Access, das für den Betrieb als File-Server ausgelegt ist. Diesen Vorteil des SQL-Servers können Sie mit Access 2000 auch ausnutzen, ohne direkt auf den SQL-Server umzusteigen – mit der Microsoft Data Engine (MSDE), die der Premium- und der Developer-Version von Office 2000 beiliegt. In diesem Beitrag erfahren Sie, welche Vorteile die MSDE gegenüber der Jet-Engine hat, wie Sie die MSDE installieren und eine bestehende Access 2000-Datenbank in ein Access-Projekt umwandeln können. Außerdem erfahren Sie, wie sich File-Server- und Client-Server-Anwendungen unterscheiden.

Die Voraussetzung für das Verständnis der Vorteile der MSDE gegenüber herkömmlichen Access-Datenbanken ist die Kenntnis der Unterschiede zwischen dem File-Server- und dem Client-Server-Prinzip. Beide Prinzipien setzen den Einsatz von mindestens zwei miteinander vernetzten PCs voraus, von denen der eine als Server die Datenbank enthält und der andere für den Zugriff auf die Daten dient.

Beim File-Server-Prinzip gibt es zwei unterschiedliche Varianten, um über das Netzwerk auf die Daten zuzugreifen: Die erste Möglichkeit besteht darin, die Datenbank komplett auf dem Server abzulegen. Beim Zugriff auf die Datenbank muss der Client-Rechner zunächst die komplette Anwendung über das Netz laden, bevor er auf die Daten zugreifen kann. Sinnvoller ist die zweite Variante: Hier wird die Datenbank in eine Frontend- und eine Backend-Datenbank aufgeteilt. Die Frontend-Datenbank enthält dabei die Datenbankobjekte, die zur Darstellung der Daten benötigt werden, wie z. B. Abfragen, Formulare und Berichte. Außerdem befindet sich in der Frontend-Datenbank die gesamte Funktionalität. Die Backend-Datenbank beinhaltet nur noch die Tabellen und damit die eigentlichen Daten. Die Verwaltung der Daten erfolgt aber über die Frontend-Datenbank.

Beim Client-Server-Prinzip ist der Aufbau der Gleiche wie bei der zweiten Variante des File-Server-Prinzips. Hier verwenden Sie ein Frontend, das z. B. mit Access 2000 oder mit Visual Basic realisiert werden kann. Als Backend dient ein SQL-Server wie der MS SQL-Server, Informix, Oracle oder die abgespeckte Version des MS SQL-Servers, die MSDE.

Der wesentliche Unterschied der beiden Prinzipien liegt in der Art bzw. dem Ausführungsort der Datenabfrage. Wenn Sie beispielsweise einen bestimmten Wert aus einer Tabelle abfragen möchten, geschieht das beim File-Server-Prinzip, indem der komplette Inhalt der entsprechenden Tabelle über das Netz auf den Client übertragen wird und dort die Auswahl des gesuchten Datensatzes stattfindet. Beim Client-Server-Prinzip erfolgt diese Auswahl bereits auf dem Server, allein der gewünschte Datensatz wird über das Netz auf den Client-Rechner übertragen. So wird einerseits die Netzlast verringert und andererseits die Zugriffsgeschwindigkeit erhöht.

Das Client-Server-Prinzip hat noch weitere Vorteile:

Die SQL-Server-Software übernimmt die Verwaltung und die Sicherheit der Daten. Wann immer Daten z. B. geändert oder per Abfrage angefordert werden, aktualisiert der Server den Datenbestand bzw. stellt die angeforderten Daten zusammen. Datenverluste, die beispielsweise durch einen Stromausfall, einen Rechnerabsturz oder durch einen Festplattenfehler entstehen, können nahezu ausgeschlossen werden, da die MSDE sämtliche Transaktionen mitschreibt. Die Datenbestände können somit fast in allen Fällen wiederhergestellt werden. Im Vergleich dazu muss man bei der Jet-Engine, mit der Microsoft Access üblicherweise arbeitet, mit dem letzten gespeicherten Stand Vorlieb nehmen.

Wenn Sie bereits einmal die Premium- oder Developer-Version von Office 2000 installiert haben, fragen Sie sich möglicherweise, ob Sie die Option zur Installation der MSDE übersehen haben. Dies ist nicht der Fall, da Microsoft die MSDE gut auf der CD versteckt hat.

Sie finden die Installationsdateien auf der ersten CD im Verzeichnis \\SQL\\X86\\Setup unter dem Dateinamen SETUPSQL.EXE.

Im ersten Dialog legen Sie fest, ob Sie die MSDE auf dem lokalen oder auf einem anderen Rechner installieren möchten (Abb. 1). Wenn Sie die Installationsroutine auf dem Rechner gestartet haben, auf dem die MSDE installiert werden soll, wählen Sie die erste Option.

Abb. 1: Hier legen Sie den Ort der Installation fest.

In den nachfolgenden Dialogen können Sie jeweils die voreingestellten Daten übernehmen.

Wenn Sie alle nötigen Angaben gemacht haben, müssen Sie die MSDE nur noch starten – vorausgesetzt, Sie verwenden nicht Windows NT oder Windows 2000. In diesem Fall wird die Anwendung automatisch gestartet. Die MSDE meldet sich nach dem Start mit dem Fenster aus Abb. 2. Hier können Sie den SQL-Server starten, anhalten und beenden sowie den gewünschten Server auswählen. Außerdem legen Sie hier fest, ob der SQL-Server beim Hochfahren des Rechners automatisch gestartet werden soll.

Abb. 2: Der SQL Server-Dienst-Manager

Wenn Sie den Manager einmal geschlossen haben, gibt es zwei Möglichkeiten, ihn wieder anzuzeigen. Zum einen finden Sie im rechten Bereich der Taskleiste ein neues Symbol, welches anzeigt, ob der SQL-Server aktiv ist. Die Symbole haben die folgende Bedeutung:

= SQL-Server ist beendet

= SQL-Server ist gestartet

= SQL-Server ist angehalten

In jedem Fall können Sie den SQL Server-Dienst-Manager durch einen Doppelklick auf das Symbol anzeigen.

Die zweite Möglichkeit ist der Weg über das Startmenü. Hier finden Sie unter dem Menüpunkt Programme ( MSDE neben dem Dienst-Manager auch noch einige weitere Einträge (Abb. 3).

Abb. 3: Die MSDE-Optionen im Startmenü

Der Zugriff auf die MSDE mit Access 97 ist wie der Zugriff auf den SQL-Server zwar möglich, aber stark eingeschränkt. Der Zugriff ist auf das Verknüpfen von Tabellen beschränkt. Die anderen Objekte einer MS SQL-Server-Datenbank wie Sichten, gespeicherte Prozeduren oder Trigger können Sie mit Access 97 nicht bearbeiten und nicht verwenden.

Wie bereits erwähnt, können Sie Access 2000 problemlos als Frontend einer Datenbank mit der Microsoft Database Engine als Backend verwenden. Im Gegensatz zur herkömmlichen Access-Datenbank spricht man hier allerdings von einem Access-Projekt.

Ein solches Projekt können Sie auf verschiedene Arten erstellen. Beide Möglichkeiten stellt Ihnen der Dialog Neu (Abb. 4) zur Verfügung, den Sie über den Menübefehl Datenbank ( Neu aufrufen. Hier können Sie entweder mit Projekt (Bestehende Datenbank) die Daten einer bereits eingerichteten Datenbank verwenden oder mit Projekt (Neue Datenbank) eine gänzlich neue Datenbank erstellen.

Abb. 4: Anlegen einer neuen Datenbank

Die dritte Möglichkeit zur Erstellung eines neuen Datenbankprojektes ist die Konvertierung einer bestehenden Access-Datenbank. Mit dieser Möglichkeit beschäftigt sich der folgende Abschnitt.

Zur Erstellung bzw. zur Umwandlung einer bestehenden Access-Datenbank in ein Projekt verwenden Sie den so genannten Upsizing-Assistenten. Um den Assistenten zu starten, führen Sie den Menübefehl Extras ( Datenbank-Dienstprogramme ( Upsizing-Assistent aus. Der Upsizing-Assistent bietet Ihnen nun die zwei Optionen Vorhandene Datenbank verwenden und Neue Datenbank erstellen an.

Abb. 5: Der Upsizing-Assistent

Den Eintrag Vorhandene Datenbank verwenden sollten Sie wählen, wenn Sie bereits eine MSDE- oder SQL-Server-Datenbank erstellt haben und die Access-Datenbank auf diese portieren. Zunächst gehen wir jedoch von dem Fall aus, dass Sie eine solche Datenbank noch nicht erstellt haben. Wählen Sie deshalb die Option Neue Datenbank erstellen (Abb. 5).

Anschließend geben Sie eine Anmeldungs-ID und ein Kennwort für ein Konto an, dessen Besitzer Rechte zum Erstellen einer Datenbank besitzt. Schließlich ist noch die Angabe eines Namens für die neue Datenbank erforderlich.

Abb. 6: Weitere Einstellungen zum Upsizing einer Datenbank

Im folgenden Schritt wählen Sie die Tabellen aus, die in die neue SQL-Server-Datenbank exportiert werden sollen (Abb. 7). Wählen Sie alle Tabellen aus und gehen Sie zum nächsten Schritt.

Abb. 7: Auswahl der zu exportierenden Tabellen

Im folgenden Fenster legen Sie fest, welche Tabellenattribute bei dem Export der Tabellen in die SQL-Server-Datenbank übernommen werden sollen. Die Optionen Indizes, Gültigkeitsregeln, Standardwerte und Tabellenbeziehungen sollten Sie aktivieren. Die Optionen Mit DRI und Mit Trigger beziehen sich auf die Definition der referentiellen Integrität. Wie Sie sicher wissen, können Sie unter Access bei der Definition auch die Löschweitergabe sowie die Aktualisierungsweitergabe aktivieren. Das ist mit dem SQL-Server nicht möglich, wenn Sie die Option Mit DRI (Declared Referential Integrity) verwenden, sondern nur dann, wenn Sie Trigger verwenden. Daher sollten Sie die Option Mit Trigger auswählen.

Hinweis

Normalerweise können Sie bei definierter referentieller Integrität keine Datensätze einer Tabelle löschen, die noch mit einem Datensatz einer anderen Tabelle verknüpft sind. Ebenso wenig ist es möglich, den Index eines Datensatzes zu verändern, der über diesen Index mit einer anderen Tabelle verknüpft ist. Mit der Aktivierung der Optionen Mit Löschweitergabe bzw. Mit Aktualisierungsweitergabe können Sie das trotzdem ermöglichen.

Ob Sie die Option Timestamp-Feld in Tabellen einfügen aktivieren sollen, können Sie erst sicher entscheiden, wenn Sie deren Funktion kennen. Wenn Sie den SQL-Server einsetzen, ist davon auszugehen, dass eine Mehrbenutzerumgebung vorliegt. In diesem Fall kann es durchaus vorkommen, dass mehrere Benutzer denselben Datensatz zur gleichen Zeit bearbeiten. Wenn es sich dabei um eine Adresstabelle handelt, kann es z. B. sein, dass der erste Anwender die Telefonnummer eines Datensatzes ändert und den Datensatz speichert. Wenn der zweite Benutzer nun den Datensatz geöffnet hat, bevor der erste Benutzer die änderung gespeichert hat, und seinerseits eine änderung an einem anderen Feld durchführt, kann er seine Version des Datensatzes nicht speichern, ohne die änderung des ersten Benutzers rückgängig zu machen. Normalerweise müsste die Datenbank nun vor dem Speichern Feld für Feld miteinander vergleichen, ob sich eine änderung ergeben hat, was bei einer großen Anzahl von Zugriffen sehr viele Ressourcen kostet. Daher versieht der SQL-Server jeden Datensatz mit einem neuen Feld namens Time-stamp. In diesem Feld wird bei jedem schreibenden Zugriff ein neuer Wert eingetragen. So muss bei einer änderung nicht jedes Feld, sondern nur das Timestamp-Feld auf eine änderung überprüft werden.

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar