Der Datenbank-Express
Artikel erschienen in Swiss IT Magazine 2005/16
Das für November geplante Release des SQL Server 2005 gehört zu den vielversprechendsten Neuerungen aus dem Hause Microsoft in diesem Jahr. Der neue Datenbankserver wartet mit einer riesigen Zahl an Neuerungen wie etwa der Integration der .Net-CLR (Common Language Runtime), T-SQL-Erweiterungen, dem Service Broker, besserem Transaktionsmanagement oder mächtigeren Management-
Tools auf. Viele dieser Neuerungen wird es in Form der SQL Server Express Edition, welche die bis-herige Microsoft Desktop Engine 2000 (MSDE) ersetzen wird, auch kostenlos geben. Wie der Vor-
gänger kann SQL Server Express auch in eigenen Applikationen lizenzkostenfrei weitergegeben werden und ist daher auch für ISVs (Independent Software Vendors) interessant.
Das Interessante an der Express Edition ist, dass Microsoft einige lästige Einschränkungen der MSDE gelockert oder gar entfernt hat. Gänzlich gestrichen wurde der ominöse Workload Governor, der bei mehr als fünf gleichzeitigen Benutzerzugriffen die Performance der Datenbank künstlich gedrosselt hat. Punkto Workload bietet die Express-Version somit keine Einschränkungen mehr. Damit dürfte der kostenlose SQL Server für viele Anwender, die sich noch durch den Governor abschrecken liessen, zu einem valablen Datenbank-Kandidaten werden.
Neu können bis zu 50 SQL-Server-Express-Instanzen gleichzeitig auf einer Maschine installiert werden. Ausserdem unterstützt die Express-Version jetzt Datenbanken mit einer Grösse von bis zu 4GB pro Instanz (bisher 2GB).
Bei der Hardware-Unterstützung hat Microsoft die Restriktionen leider verschärft. So gibt es nur noch Support für ein statt zwei Gigabyte RAM. Auch kann SQL Server Express nur noch eine CPU nutzen. Bei
MSDE gab es immerhin noch Unterstützung für zwei Prozessoren. Mehr zu den Unterschieden zwischen
den beiden Produkten finden Sie
in der Tabelle auf Seite 48 «SQL Express vs. MSDE».
Die Express Edition basiert auf derselben Datenbank-Engine wie SQL Server 2005 und verfügt bei den Datenbankfunktionen über einen Grossteil des Feature-Sets des grossen Bruders. Support für alle Standard-Objekte (Stored Procedures, Views, Trigger etc.) gehört ebenso dazu wie der Query Optimizer oder das Transaktionsmanagement. Ebenso werden viele Neuerungen der Vollversion der 2005er Ausgabe in der Express-Version zu finden sein. Dazu gehört vor allem auch die .Net-Integration, welche unter anderem die Programmierung von Datenbank-Code in C# oder VB.Net ermöglicht und eine enge Anbindung an Visual Studio 2005 bietet. Ebenfalls in der Express-Version zu finden sind SQL-Server-Neuerungen wie native XML-Unterstützung, alle neuen Befehle von T-SQL, die User Defined Types (UDT) oder der Support für die Code Access Security (CAS). Laut Microsoft verfügt SQL Server Express über alle Programmierfunktionen der kostenpflichtigen SQL-Server-Versionen. Datenbank-Anwendungen sollen sich daher ohne Zusatzaufwand von der Express-Version auf eine der vollausgestatteten SQL-Server-2005-Editionen migrieren lassen.
Mit der Integration von Replikationsdiensten und des Service Broker wurde die SQL Express Edition auch für die Integration in Enterprise-Umgebungen fit gemacht. SQL Server Express unterstützt sowohl Transactional als auch Merge Replication in der Rolle des Subscriber. Der Service Broker ist ein neues Feature von SQL Server 2005, das die asynchrone Integration zwischen Datenbanken mit Hilfe von Message Queues ermöglicht. SQL Express unterstützt den Service Broker nur
als Client und kann wie bei den Replikationsdiensten nicht als Publisher fungieren.
Erstmals liefert Microsoft bei der kostenlosen Version ihrer Datenbank ein grafisches Management-Werkzeug mit. Dieses ist zwar nicht so mächtig wie das neue SQL Server Management Studio der vollen SQL-Server-Versionen, erlaubt aber zumindest Standardaufgaben wie das Erstellen von Datenbanken, Ausführen von Queries oder das Abwickeln von Backup- und Restore-Operationen intuitiv per Maus und Wizards. Express Manager wird nicht direkt als Bestandteil von SQL Server Express geliefert, sondern muss separat heruntergeladen und installiert werden (http://lab.msdn.micro soft.com/express/sql/). Alternativ lässt sich die Express-Datenbank auch mit den Visual Data Tools von Visual Studio 2005 verwalten. Hier werden grafische Werkzeuge geboten, die sich in erster Linie an Entwickler richten und Aufgaben wie das Erzeugen von Tabellen oder das Erstellen von Abfragen abdecken.
Selbstverständlich lässt sich auch SQL Server Express über die Kommandozeile bedienen. Hierzu werden gleich zwei Werkzeuge mitgeliefert. Das erste, OSQL.EXE, ist eine auf SQL Express zugeschnittene Variante der bisherigen MSDE-Version. Beim zweiten Tool, SQLCMD.EXE, handelt es sich um eine erweiterte Version von OSQL, die neben vielen anderen Neuerungen die Verwendung von Variablen erlaubt. Dieses Feature ist vor allem für die Erstellung von wiederverwendbaren Management-Scripts gedacht.
Auch in Sachen Deployment hat Microsoft einiges getan. So kann die Installation von SQL Express jetzt in eine Microsoft-Windows-Installer-Routine eingebunden werden. Zudem lässt sich die Express Edition neu via Windows Update aktualisieren. Gleichzeitig wurde auch das Ausliefern von Datenbanken vereinfacht. So steht nun mit AttachDBFileName eine neue Option zur Verfügung, mit der sich eine Datenbank beim SQL Server automatisch anfügen und registrieren kann, falls diese noch nicht eingerichtet wurde. Damit steht künftig dem XCOPY-Deployment von Applikationen mit ihren zugehörigen Datenbanken nichts mehr im Wege.
Viele Funktionen, die in den kostenpflichtigen Editionen von SQL Server 2005 zu finden sind, sucht man in der Express-Version vergeblich. So fehlen sämtliche Business-Intelligence-Komponenten (Analysis und Reporting Services), die Volltextsuche, die Notification Services oder die native Unterstützung für HTTP-Zugriffe. Auch Features für die erhöhte Verfügbarkeit wie beispielsweise das Database Mirroring oder Logfile Shipping sind absent. Allerdings spielen diese Funktionen bei den Anwendungen – Desktop- und Workgroup-Datenbanken sowie einfache Web-Anwendungen –, für die SQL Server Express eigentlich gedacht ist, eine eher untergeordnete Rolle. Die Popularität von Microsofts lizenzfreier SQL-Datenbank wird mit SQL Server Express zweifellos markant zunehmen. Dafür werden vor allem der abgeschaffte Workload Governor und die Tatsache sorgen, dass SQL Server Express als reine Datenbank-Engine über weite Strecken mit den voll ausgestatteten SQL-Server-Versionen mithalten kann. Ausserdem bleiben die Investitionen in Express-Applikationen geschützt. Sollte man mit der Express-Edition an Performance oder Kapazitätsgrenzen stossen, lassen sich Datenbanken und Code ohne weiteres auf eine der kostenpflichtigen Editionen des SQL Server 2005 migrieren.