Microsoft: Yukon Veröffentlicht am: 26.01.2004 12:07:21 Datenbank-Features für Entwickler Yukon ist der Codename für die langerwartete neue Version des Microsoft SQL Servers, in die Microsoft viel Zeit und Geld investiert hat. Mit Yukon und der kommenden Visual Studio Version mit dem Codenamen „Whidbey“ ändert sich einiges für Entwickler, die auch auf Datenbanken zugreifen wollen/müssen. ![]() .NET Nachdem die CLR (Common Language Runtime) in die Beta 1 des SQL Servers „Yukon“ integriert wurde, kann man innerhalb der Datenbank die Funktionalität der .NET Basisklassen nutzen. So können Datenbankentwickler Stored Procedures, Funktionen und Trigger in der .NET Programmiersprache ihrer Wahl implementieren - bevorzugt natürlich C# und VB.NET. Damit lässt sich die Datenbank sehr schnell und einfach erweitern - auch um Funktionalitäten die bisher mit T-SQL (Transactional SQL) nicht möglich waren. Auf der Basis des .NET Frameworks lassen sich String-Verarbeitung, Datums-Operationen oder das Aggregieren von XML-Daten aus WebServices recht einfach realisieren. Der Manged Code, der hier zum Einsatz kommt, unterliegt natürlich der Code Access Security, sodass die CLR gewährleistet, dass der Code das Betriebssystem oder den Datenbankserver nicht kompromittieren kann - etwa durch Buffer-Overflows. Damit will Microsoft T-SQL aber sicherlich nicht abschaffen. T-SQL hat noch immer seine Berechtigung, wenn es vor allem um Daten-orientierte Aktionen geht. Wenn allerdings eine gewisse Business-Logik gefragt ist, empfiehlt Microsoft den Einsatz des .NET Frameworks. Ob man den Code nun nahe den Daten, also innerhalb von Stored Procedures, etc. platziert, oder doch eher auf dem Client, damit die CPUs des Servers nicht zu sehr beansprucht werden, bleibt schlussendlich dem Entwickler überlassen, Yukon unterstützt beide Methoden. Web Services ![]() ADO.NET Auch in ADO.NET hat sich einiges getan. So finden sich in der Microsoft SQL Server "Yukon" Beta 1 „Managed SQL types“, die man in VB-NET oder C# verwenden kann. Im Gegensatz zu den klassischen Datentypen, verfügen die SQL Datentypen über eine Semantik, die jener der nativen SQL Typen ähnlich ist. So kann der SqlString Datentype zum Beispiel erkennen, ob der gespeichterte Wert ein „NULL“-Wert ist, was mit dem normalen CLR Datentyp nicht möglich ist. In Yukon findet sich nun erstmals auch die Unterstützung von Server-Curors. Über das ISqlResultSet kann man den Cursor auf eine bestimmte Zeile im Ergebnisset einer Abfrage positionieren, einzelne Zeile oder ganze Blöcke aus der Datenbank auslesen und auch innerhalb der Ergebnisse einer Abfrage gleich Änderungen durchführen. Ebenfalls neu sind die Benachrichtigungen. Mit jeder Query, die über die verschiedenen APIs wie ADO.NET, OLEDB, ODBC, ADO oder SOAP abgesetzt werden kann, lässt sich auch ein Parameter mitschicken, dass man informiert werden will, wenn sich das Ergebnis der Abfrage geändert hat. So lässt sich zum Beispiel recht einfach ein Caching-Mechanismus für dynamisch generierte Webseiten erstellen. Die Benachrichtigungen werden über einen SQL Service Broker mittels einer Queue den Applikationen zur Verfügung gestellt. SQL Server Management Objects (SMO) Ebenfalls neu eingeführt wurden die SQL Server Management Objects (SMO), ein Management Objektmodell für Yukon. Basierend auf dem .NET Framework sollen diese die neue Basis für die Entwicklung von Database-Management-Appliaktionen werden. So basiert bereits die SQL Server Workbench auf SMO und alle Operationen, die im GUI möglich sind, können auch über die SMO-APIs durchgeführt werden. XML XML hat sich mittlerweile als das universielle Format für den Datenaustausch etabliert - auch bei Microsoft. Bereits der SQL Server 2000 hat XML „unterstützt“, indem er via SQLXML erlaubt hat, XML-Daten in relationale Tabellen und vice versa zu konvertieren. Mit Yukon hat Microsoft den SQL Server um eine ganze Palette an Funktionen und XML-bezogenen Fähigkeiten erweitert. So wurde der native XML Datentyp eingeführt, der über seine Methoden und Funktionen fast alle Eigenschaften der XQuery-Spezifikation erfüllt. Im Gegensatz zu einem normalen String-Feld kann man aus einem XML-Feld auch einfach Teile der XML-Daten extrahieren, das XML-Dokument gegen ein Schema validieren und sogar in-place ändern, ohne dass das ganze Feld erst ausgelesen und dann wieder geschrieben werden muss. Für Suchen in XML-Daten unterstützt Yukon nun auch den von der W3C verwalteten Standard XQuery in der Version „XQuery 1.0 Working Drafts of the range from December 20, 2001 to November 15, 2002“. In guter alter Microsoft-Manier wurde dieser Standard unter dem Namen „DML Erweiterungen“ (Data Modification Language) um Funktionen für das Ändern von Daten erweitert, da diese im Standard, der nur die Abfrage/Suche vorsieht, nicht geplant waren. Fazit Die Änderungen in Yukon allen für Entwickler sind gewaltig und dieser Artikel konnte natürlich nur die wichtigsten Neuerungen streifen, aber man sieht, dass sie Microsoft viel überlegt hat, wie man den neuen Server sinnvoll erweitern kann. Mehr zum kommenden Microsoft SQL Server Yukon lesen sie dann in der kommenden Ausgabe, wenn unser Chefredaktuer von Microsofts IT-Forum zurückgekehrt ist. Yukon Basics; Yukon Product Info
Martin Leyrer
Gedruckt von WCM (http://www.wcm.at/contentteller.php/news_story/microsoft_yukon.html)
|