Die Microsoft Data Engine (MSDE)

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

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 SQLX86Setup 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 (siehe Bild 1). Wenn Sie die Installationsroutine auf dem Rechner gestartet haben, auf dem die MSDE installiert werden soll, wählen Sie die erste Option.

Bild 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 Bild 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.

Bild 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 (siehe Bild 3).

Bild 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 (siehe Bild 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.

Bild 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.

Bild 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 (siehe Bild 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.

Bild 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 (siehe Bild 7). Wählen Sie alle Tabellen aus und gehen Sie zum nächsten Schritt.

Bild 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.

Daher sollten Sie die Option Timestamp-Feld in Tabellen einfügen Auf den Wert Ja, immer setzen. Mit der letzten Option legen Sie schließlich fest, ob nur die Tabellenstruktur oder auch die Daten exportiert werden sollen.

Bild 8: Eigenschaften der Tabellenattribute

Schließlich stellt Access Ihnen drei unterschiedliche Methoden zur Verfügung, um eine SQL-Server-Datenbank zu erstellen.

  • Wenn Sie die Option Keine Anwendungsänderung wählen, ändert sich nichts an Ihrer vorhandenen Datenbank. Access erstellt lediglich eine SQL-Server-Datenbank mit dem angegebenen Namen (z. B. NordwindSQL.ldf).
  • Wenn Sie die Option SQL Server-Tabellen in die bestehende Anwendung einbinden auswählen, erstellt Access ebenso eine SQL Server-Datenbank. Dabei werden die Tabellen mit der Access-Datenbank verknüpft, mit der das Upsizing durchgeführt wurde.
  • Die Option Eine neue Access-Client/Server-Anwendung erstellen resultiert in der Erstellung eines Access-Projektes. Das hat einige grundlegende änderungen zur Folge, die im Anschluss näher beschrieben werden sollen.
  • Um ein echtes Projekt zum Zugriff auf die MSDE-Datenbank zu erstellen, wählen Sie die dritte Variante.

    Bild 9: Auswahl der Anwendungsänderung

    Nachdem Sie die Schaltfläche Fertig stellen betätigt haben, müssen Sie noch einige Eigenschaften zu der Datenverknüpfung eingeben (siehe Bild 10). In der Regel können Sie die voreingestellten Werte übernehmen.

    Bild 10: Der Dialog Datenverknüpfungseigenschaften

    Der Assistent erstellt nun das neue Projekt. Sie können das Projekt nun auf verschiedenen Rechnern installieren, die Zugriff auf den SQL-Server und damit auf die neue SQL-Datenbank haben.

    Wenn Sie keine vorhandene Datenbank in ein Access-Projekt umwandeln möchten, können Sie auch ein komplett neues Projekt erstellen. Dazu betätigen Sie den Menübefehl Datei ( Neu. Im Register Allgemein finden Sie die beiden Einträge Projekt (Bestehende Datenbank) und Projekt (Neue Datenbank).

    Ein Projekt für eine bestehende Datenbank erstellen

    Wenn Sie bereits eine SQL-Server-Datenbank erstellt haben, können Sie den Befehl Projekt (Bestehende Datenbank) auswählen. Anschließend geben Sie den Namen des anzulegenden Projekts ein und wählen das Verzeichnis aus, in dem es angelegt werden soll (siehe Bild 11). Anschließend müssen Sie – wie beim Upsizing einer Datenbank – noch die Datenverknüpfungseigenschaften festlegen.

    Bild 11: Hier geben Sie den Namen des zu speichernden Projektes ein.

    Ein Projekt für eine neue Datenbank erstellen

    Wenn Sie gleichzeitig ein neues Projekt und eine neue SQL-Server-Datenbank erstellen möchten, verwenden Sie den Befehl Projekt (Neue Datenbank). Auch hier geben Sie zunächst den Pfad und den Namen für das zu erstellende Projekt an. Anschließend startet Access den SQL Server-Datenbank-Assistenten. Wie Sie mit dem Assistenten eine neue SQL-Server-Datenbank erstellen können, haben Sie bereits weiter oben erfahren.

    Manchmal erstellt man ein Projekt und testet es an einer Dummy-Datenbank, bevor man es mit der eigentlichen SQL-Server-Datenbank verbindet. Dazu müssen Sie zunächst das gewünschte Projekt öffnen. Anschließend wählen Sie im Menü Datei den Befehl Verbindung… aus. Im nun erscheinenden Dialog Datenverknüpfungseigenschaften können Sie die zu verbindende Datenbank auswählen.

    Bei der Verwendung des Projektes und der MSDE-Datenbank ergeben sich einige Unterschiede im Vergleich zu herkömmlichen Access-Datenbanken, die Sie unbedingt beachten müssen.

    Der erste Unterschied tritt bereits bei der Betrachtung des Datenbankfensters zutage (siehe Bild 12): Statt der gewohnten Abfragen finden Sie gleich drei neue Objektarten, nämlich Sichten, Datenbankdiagramme und Gespeicherte Prozeduren. In den folgenden Abschnitten finden Sie eine detaillerte Beschreibung der neuen Objektarten.

    Bild 12: Das Datenbankfenster eines Access-Projekts

    Sichten

    Die Sichten haben eine sehr große ähnlichkeit mit den in Access-Datenbanken verwendeten Abfragen. Genau wie Abfragen enthalten Sichten keine Daten, sondern zeigen nur die Daten einer oder mehrere Tabellen in einer bestimmten Sichtweise an.

    Damit Sie genauer erfahren, was eine Sicht ist und wie sie sich von einer Abfrage unterscheidet, erstellen Sie zunächst eine solche.

  • Aktivieren Sie mit der Taste [F11] das Datenbankfenster und wechseln Sie in das Register Sichten.
  • Klicken Sie doppelt auf den Eintrag Erstellt eine Sicht unter Verwendung des Designers (siehe Bild 13). Es erscheint nun ein Fenster mit dem Titel Sicht1: Sicht. Es enthält zwei Bereiche, den Diagrammbereich im oberen Teil sowie den Ras-terbereich im unteren Teil des Fensters.
  • Klicken Sie mit der rechten Maustaste in den Diagrammbereich und wählen Sie den Befehl Tabelle anzeigen aus (siehe Bild 14).
  • Wählen Sie die gewünschten Tabellen aus dem Fenster Tabelle anzeigen aus und ziehen Sie sie in den Diagrammbereich der Sicht (siehe Bild 15).
  • Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

    Testzugang

    eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

    diesen und alle anderen Artikel mit dem Jahresabo

    Schreibe einen Kommentar