Die MSDE (MicroSoft Data Engine)
Armin Kast
Eine kurze Vorstellung der MSDE
Die MSDE
Die MSDE ( MicroSoft Data Engine ) ist eine Serverkomponente des SQL Servers welche im wesentlichen die relationale SQL Engine sowie die Speicher-Engine beinhaltet. Die MSDE bringt keine visuellen Werkzeuge mit. Es wird erwartet, dass Objekte mit visuellen Werkzeugen aus Produkten wie Visual Studio 6 oder der Office Premium bzw. des Office Developer Kit erstellt und verwaltet werden. Es kann jedoch der Client des SQL-Servers installiert werden um so nachträglich die visuellen Werkzeuge zu ergänzen. Die MSDE ist begrenzt auf Datenbanken von max. 2 GByte und kann max. 5 Verbindungen/Anwender bedienen. Alle diejenigen, welche eines der nachfolgenden Produkte erworben haben:
- Visual Studio 6.0
Professional oder Enterprise Edition
- Visual Basic® 6.0
Professional oder Enterprise Edition
- Visual C++® 6.0
Professional oder Enterprise Edition
- Visual InterDev 6.0
Professional Edition
- Visual J++ 6.0
Professional Edition
- Visual FoxPro 6.0
Professional Edition
können die MSDE kostenfrei an Endkunden weitergeben. Dies bietet dem VFP Programmierer ungeahnte Möglichkeiten.
Somit ist es möglich einem Kunden die komplette Funktionalität ( mit den zuvor genannten Einschränkungen ) des SQL-Servers 7 unter Windows® 95, 98, NT4(ab ServicePack4) oder 2000 zu bieten.
Die Installation
Die Installation ist recht einfach da die gelieferte MSDE-Version per "Unattended-Setup" durchgeführt wird. Wer Einfluß auf die Installation nehmen will, muß die entpackte Setupdatei im Tempverzeichnis abfangen und in eine neues Verzeichnis kopieren um dort die "ISS" Datei zu ändern in welcher die Installationsparameter stehen.
Wichtige Sektionen sind:
[SetupTypeSQL-0]
szDir= C:\MSSQL7
szDataDir= C:\MSSQL7
Hier werden die Zielpfade für die Engine (szDir) sowie der Daten (szDataDir) festgelegt.
[DlgCpSortUnicode-0]
SortId=52
LCID=1033
CompStyle=196609
Result=1
Mit SortId=52 wird die Sortierreihenfolge Codepage 1252 eingestellt .
Nach der Installation steht der Dienstmanager der MSDE zur Verfügung welcher in der Taskleiste den Status der SQL Engine anzeigt. Mittels des Dienstmanagers werden folgende Dienste gesteuert:
- MSSQLServer
- Distributed Transaction Coordinator
- SQLServerAgent
Die MSDE wird, wenn keine visuellen Werkzeuge zur Verfügung stehen, mit dem Dienstprogramm OSQL gesteuert. OSQL ermöglicht es Transact-SQL-Anweisungen zu verarbeiten. Dieses Dienstprogramm verwendet ODBC um Daten mit der MSDE auszutauschen. Hierüber können einfache bis zu komplexen SQL-Konstrukte an die MSDE gesendet werden.
Anlegen einer Datenbank
Im nachfolgenden Beispiel legen wir eine Datenbank mit dem Namen TESTDB an. Hierzu verwenden wir einen beliebigen Editor um eine Textdatei "CREATEDB.SQL" mit unten aufgeführtem Inhalt zu erstellen.
Diese Datei wird dann mittels OSQL an die MSDE gesandt.
OSQL -E -i createdb.sql -o ergebnis.txt
Nachdem OSQL die Befehle verarbeitet hat kann in der Datei ergebnis.txt das Rückgabeergebnis eingesehen werden. An dieser Stelle möchte ich auf die Artikel über C/S-Entwicklung ( 03-02, 03-03, 03-04, 03-05 sowie 03-06 ) von Arturo Devigus aus der FoxX Professional Erstausgabe verweisen, in welchen Begriffe wie die Datenmodellierung, Constraints, Rules, Trigger sowie Transaktionen hinreichend beschrieben sind. Hier soll die MSDE ein wenig durchleuchtet werden und nicht gute Artikel nochmals aufgewärmt werden. In gleicher Weise wie die Datenbank erstellt wurde können auch Scripte zur Erstellung von Tabellen zum SQL Server gesandt werden. Auch kann nach dem erstellen der Datenbank der "Upsizewizard" von VFP verwendet werden um eine vorhandene Datenbank zum SQL Server zu portieren.
Syntax von OSQL:
OSQL -U Benutzername [-e] [-E] [-p] [-n] [-d Datenbanknamen verwenden] [-Q "Befehlszeilenabfrage" und beenden] [-q "Befehlszeilenabfrage"][-c Befehlsende] [-h Header] [-w Spaltenbreite] [-s Spaltentrennzeichen] [-t Abfragetimeout] [-m Fehlerebene] [-I] [-L] [-?] [-r {0 | 1}] [-H Hostname] [-P Kennwort] [-R] [-S Server] [-i Eingabedatei] [-o Ausgabedatei] [-u] [-a Paketgröße] [-b] [-O] [-l Anmeldungstimeout]
Testen der Installation
OSQL -E -q "SELECT @@VERSION" -o ergebnis.txt
Das Ergebnis steht in der Ausgabedatei. Je nach installiertem SQL- Servicepack und verwendetem Betriebssystem erscheint die nachstehende Meldung:
Microsoft SQL Server 7.00 - 7.00.961 (Intel X86)
Oct 24 2000 18:39:12
Copyright (c) 1988-1998 Microsoft Corporation
MSDE on Windows NT 5.0 (Build 2195: Service Pack 1)
SQL-Datei CREATEDB.SQL
USE MASTER
GO
CREATE DATABASE testdb Anlegen der Datenbank TESTDB
ON
( NAME = test_data, Im Verzeichnis C:\MSSQL7\DATA wird die Datendatei test_data.mdf
FILENAME=C:\MSSQL7\DATA\test_data.mdf', mit einer Basisgröße von 2 MByte angelegt. Diese Datei vergrößert
sich
SIZE = 2MB, automatisch um 1
MByte insofern der Speicherplatz in der Datei nicht mehr
MAXSIZE = 10MB, ausreichen sollte. Die Datendatei kann eine maximale Größe von 10 MByte
FILEGROWTH = 1MB )
erreichen.
LOG ON
( NAME = test_log, Im Verzeichnis C:\MSSQL7\DATA wird die Logdatei test_log.ldf
FILENAME = 'C:\MSSSQL7\DATA\test_log.ldf', mit einer Basisgröße von 2 MByte
angelegt. Diese Datei vergrößert sich
SIZE = 1MB, automatisch um 1
MByte insofern der Speicherplatz in der Datei nicht mehr
MAXSIZE = 2MB, ausreichen sollte. Die Datendatei kann eine maximale Größe von 10 MByte
FILEGROWTH = 1MB )
erreichen.
GO
WINDOWS Betriebsysteme
Es gibt wesentliche Unterschiede in den einzelnen Windows Betriebssystemen zu beachten. So läuft die MSDE unter Windows® NT4 (SP4 und höher) und Windows® 2000 als Dienst und kann mittels "vertrauten Verbindungen" als auch "Server-Login" angesprochen werden, wogegen die MSDE unter Windows® 95 und 98 als Applikation läuft und nur die Verbindungsart "Standard- Login" unterstützt.
Unter Microsoft Windows NT® wird Microsoft® SQL Server als Dienst mit dem Namen MSSQLServer ausgeführt.
Unter Microsoft Windows® 95/98 wird SQL Server nicht als Dienst ausgeführt, da das Betriebssystem keine Dienste unterstützt. Statt dessen simuliert SQL Server die Dienste MSSQLServer und SQLServerAgent. Für diese simulierten Dienste brauchen keine Benutzerkonten erstellt zu werden.
Dies hat eine große Bedeutung für die ODBC-Verbindung zum SQL Server ( MSDE ) da auf die Verbindungsart, bei den unterschiedlichen Betriebssystemen, geachtet werden muß. Bei den vertrauten Verbindungen wird mit den Konteninformationen der Windows NT/2000 Anmeldung des Benutzers zum SQL-Server verbunden. Dieser braucht keine weiteren Eingaben zu tätigen, da der SQL- Server die Authentifizierung selbst vornimmt. Beim Server-Login hingegen muss der Benutzer sich mittels Anmeldenamen und Benutzerpaßwort am SQL Server authentifizieren. Der Entwickler sollte sich im Vorfeld einer Programmierung schon seine Gedanken über diese Tatsachen machen.
ServicePacks
Alle vorhandenen Servicepacks, bisher gibt es drei, für SQL Server 7 gelten auch für die MSDE. Natürlich muß nicht jedes Servicepack installiert werden, sondern immer nur das aktuellste da dieses die vorangegangenen beinhaltet.
Funktionalität
Die Funktionalität der MSDE ist die gleiche wie die des großen Bruders SQL-Server 7 da die MSDE im wesentlichen die relationale SQL Engine sowie die Speicher-Engine beinhaltet. Auf die Einschränkungen wurde zuvor schon eingegangen. Die MSDE kann mit den geeigneten visuellen Werkzeugen in gleicher Weise wie der SQL-Server 7 administriert werden. Geeignete Onlinehandbücher findet man z.B. in diversen Büchern der MS-Press Reihe ( siehe Literatur / Buchempfehlungen ) die über den SQL Server 7 veröffentlicht wurden. Bei den meisten ist auch eine 120 Tage Testversion beigefügt, welche auch den geeigneten Client enthält.
Visuelle Werkzeuge
Empfehlenswert und auch kostenlos ist ein Werkzeug Namens "WinSQL" welches unter http://www.indus-soft.com/winsql downgeloaded werden kann. Hiermit ist man in der Lage via ODBC-Datenquellen in die verschiedensten SQL-Servern hinein zu schnuppern und sich die Informationen wie Tabellenstrukturen, Views, etc. Anzeigen zu lassen. Diese Gratissoftware mit Syntax-colorierung im SQL-Abfrageteil eignet sich hevorragend zum Testen von SQL-Abfragen. Ebenso lassen sich hiermit Tabellen designen und auf dem SQL-Server anlegen.
Literatur
Inside Microsoft SQL Server 7.0 , ISBN3-86063-476-3
Microsoft SQL Server 7.0 Systemverwaltung ISBN3-86063-264-7
Microsoft SQL Server 7.0 Datenbankimplementierung ISBN3-86063-271-X
Transact-SQL Sprachverzeichnis ISBN3-86063-904-8
|