SQL Server 2008

Neuerungen

Randy Dyess

 

Kurz zusammengefasst:

  • Leistungsfähigere Verwaltung
  • Verbesserte Leistung und Skalierbarkeit
  • Bessere Sicherheit und Verfügbarkeit
  • Änderungen für Entwickler

Microsoft hat wieder einmal eine neue SQL Server-Version veröffentlicht, die verspricht, das Leben von Datenbankadministratoren zu erleichtern. Die aktuelle Version ist SQL Server 2008. Diese bietet eine große Vielfalt an neuen

Features und Funktionen, die die Verwaltung um einiges vereinfachen werden.

Datenbankadministratoren, die jemals SQL Server® 2005 verwendet haben, werden viele der Features, die sie tagtäglich verwenden, auch hier wiederfinden. Sie werden jedoch bald feststellen, dass diese vertrauten Tools in SQL Server 2008 verbessert wurden. Die neue Funktionalität, die auf den vorhandenen Features basiert, trägt deutlich zu einer Verringerung der Anzahl der Problemumgehungen oder Anpassungen bei, die früher zum Verwenden verschiedener Features in komplexen Datenbankumgebungen erforderlich waren.

Die neuen Features in SQL Server 2008 betreffen zahlreiche Datenbankaufgabenbereiche, wodurch ihre Kategorisierung erschwert wird. Beim Einordnen von Features unter verschiedenen Themen fällt mir auf, dass einige Leser sich vermutlich fragen werden, warum ich Feature X in die Kategorie Y eingeordnet habe, wenn es doch eindeutig in die Kategorie Z gehört. Das hängt ganz von der Perspektive ab und davon, wie Ihr Unternehmen seine Geschäfte betreibt.

Mir ist klar, dass Datenbankverwalter oft viele verschiedene Aufgabenbereiche abdecken, doch ich werde versuchen, die neuen Features aufzuschlüsseln, damit sie in die folgenden allgemeinen Kategorien passen: Verwaltung, Skalierbarkeit, Leistung, Verfügbarkeit, Sicherheit, Entwicklung sowie Business Intelligence.

Neuerungen bei der Verwaltung

Für Datenbankadministratoren (wie mich) wird SQL Server 2008 durch seine zusätzliche Verwaltungsfunktionalität zu einem sehr interessanten neuen Produkt. Die neue Richtlinienverwaltung, die Funktion zur Abfrage mehrerer Server, die Konfigurationsserver und das Warehouse für Datensammlung und -verwaltung bieten leistungsfähige neue Möglichkeiten für Datenbankadministratoren, die häufig für das Verwalten großer und komplexer Datenbankumgebungen mit Hunderten oder Tausenden von Datenbanken auf Dutzenden oder gar Hunderten von Servern zuständig sind.

Das SQL Server 2008-Richtlinienverwaltungsfeature, das in CTPs (Community Technology Previews) eigentlich Declarative Management Framework genannt wurde, ermöglicht Ihnen das Erstellen und Ausführen von Konfigurationsrichtlinien für einen oder mehrere Datenbankserver. Mit diesen Richtlinien können Sie sicherstellen, dass für alle Zielserver und Zieldatenbanken Standardkonfigurationseinstellungen angewendet und verwaltet werden. Ein Beispiel für dieses Feature finden Sie in Abbildung 1.

Abbildung 1 Die Richtlinie für den Daten- und Protokolldateispeicherort

Abbildung 1** Die Richtlinie für den Daten- und Protokolldateispeicherort **(Klicken Sie zum Vergrößern auf das Bild)

Richtlinien werden aufgrund einer vordefinierten Reihe von Facets erstellt. Jedes Facet enthält eine Untergruppe von SQL Server 2008-Konfigurationseinstellungen und anderen Ereignissen, die Sie steuern können. Sie paaren diese Facets mit Bedingungen, um eine Richtlinie zu erstellen. Bedingungen sind die Werte, die für die Eigenschaften eines Facet, die Konfigurationseinstellungen oder andere in diesem Facet enthaltenen Ereignisse zulässig sind.

Bedingungen sind außerdem Werte, die für Richtlinienfilter verwendet werden. Angenommen, Sie wollen, dass die Richtlinie nur für eine bestimmte Datenbank ausgeführt werden soll. In diesem Fall können Sie eine Bedingung erstellen, die den Namen der Datenbank enthält, und sie dann der Richtlinie hinzufügen. Jetzt wird die Richtlinie nur auf diese eine Datenbank angewendet. „SQL Server 2008-Richtlinienverwaltung“ klingt vielleicht komplex, aber wenn Sie sie einmal ausprobiert haben, werden Sie erkennen, dass sie ziemlich einfach zu verwenden ist.

Die neuen Funktionen für Mehrserverinteraktion und Konfigurationsserver sind nützlich, wenn Sie Abfragen für mehrere Server gleichzeitig ausführen müssen. Sie können Server in Ihrem Management Studio registrieren und dann die Server zusammen in einer Gruppe platzieren. Wenn Sie eine Richtlinie oder Abfrage für alle Server in der Gruppierung ausführen müssen, klicken Sie einfach mit der rechten Maustaste auf die Gruppierung, und führen Sie die Aufgabe aus.

Hinzu kommt der Vorteil, dass Sie dieses Feature konfigurieren können, um ein ResultSet pro Server zurückzugeben oder alle ResultSets in einem einzigen großen ResultSet zu vereinigen. Sie können zudem angeben, ob die Server- und Datenbanknamen Teil der Ergebnisse sein sollen, damit Sie die individuellen Ergebnisse der einzelnen Server unterscheiden können. In der Lage zu sein, die registrierten Server auf dem Konfigurationsserver zu speichern, statt im Management Studio der einzelnen Benutzer, ist ein großer Vorteil.

Ein anderes interessantes neues Verwaltungsfeature ist der Datensammler. Datenbankadministratoren müssen oft Verwaltungsdaten von einer großen Anzahl von Servern erfassen, und viele Administratoren haben ihre eigenen benutzerdefinierten Lösungen dafür erstellt. Der Datensammler ist eine integrierte Methode, die das Sammeln der verwaltungsbezogenen Daten erleichtert. Er ermöglicht Ihnen, SQL Server-Agent und SQL Server Integration Services (SSIS) zu verwenden, um ein Framework zu erstellen, das Ihre Daten sammelt und speichert und gleichzeitig eine Problembehandlung, eine Überwachung und einen Sammlungsverlauf bietet.

Im Unterschied zu Drittanbietertools und benutzerdefinierten Aufgaben wird der Datensammler von den meisten Datenbankadministratoren schnell verstanden, da er SQL Server-Agent und SSIS verwendet, um einen Satz von Aufträgen und Paketen zu erstellen, mit denen Verbindungen verwaltet und die Sammlung und Speicherung von Daten durchgeführt werden (siehe Abbildung 2). Nachdem diese Daten an einem zentralen Speicherort gespeichert wurden, der als das Verwaltungs-Data Warehouse bezeichnet wird, können sie durch eine Reihe von T-SQL-Anweisungen und SQL Server 2008 Reporting Services-Berichten angezeigt und organisiert werden. Durch diesen zentralen Datenspeicher wird es viel leichter, die allgemeinen Verwaltungsmetriken der Datenbankumgebung zu analysieren und anzuzeigen.

Abbildung 2 Datensammler-Protokolldatei zur Datenträgerverwendung

Abbildung 2** Datensammler-Protokolldatei zur Datenträgerverwendung **(Klicken Sie zum Vergrößern auf das Bild)

Neuerungen bei der Skalierbarkeit

Im Laufe der Jahre mussten SQL Server-Datenbankadministratoren feststellen, dass der Umfang der Datenbankumgebungen stetig zunimmt. Mit der zunehmenden Größe Ihrer Datenbankumgebung benötigen Sie neue Methoden und Tools, um die Skalierbarkeit zu erzielen, die für die meisten Unternehmen erforderlich ist. SQL Server 2008 enthält mehrere neue Features, die dabei helfen.

SQL Server 2008 umfasst eine integrierte Komprimierung, die Ihnen ermöglicht, die Datenbank- und Transaktionsprotokolldateien, die der komprimierten Datenbank zugeordnet sind, zu komprimieren. In SQL Server 2005 wurde die Möglichkeit eingeführt, Daten in einer schreibgeschützten Datei oder Dateigruppe zu komprimieren, doch bei dieser Art der Komprimierung wurde einfach die Komprimierungsmöglichkeit von Windows® NTFS verwendet. Mit SQL Server 2008 haben Sie die Möglichkeit zur Komprimierung auf Zeilen- und auf Seitenebene. Dies bietet Vorteile, die Sie bei der Komprimierung auf Datendateiebene nicht haben.

Die Komprimierung auf Zeilen- und Seitenebene verringert den Umfang des benötigten Datenspeicherplatzes und reduziert den Umfang des benötigten Speichers, da die Daten im Speicher komprimiert bleiben. Komprimierte Daten im Speicher führen zu einer verbesserten Speichernutzung, von der die Skalierbarkeit vieler Systeme profitiert.

In SQL Server 2008 wird außerdem die Komprimierung auf Sicherungsebene eingeführt. Obwohl Datenbanksicherungen nur eine Sicherungskopie für den aktiven Anteil der Datenbank erstellen, sind dies trotzdem Hunderte von Gigabyte oder gar Dutzende von Terabyte. In Datenbankumgebungen, die mehr als eine Kopie einer Sicherungsdatei mit einer Größe von mehreren Terabyte enthalten, nehmen diese Sicherungen oft wertvollen Speicherplatz ein, der effektiver verwendet werden könnte. Dadurch, dass Datenbankadministratoren ermöglicht wird, ihre Sicherungsdateien zu komprimieren, gibt SQL Server 2008 einen Teil dieses Speicherplatzes frei, sodass er für Livedaten verwendet werden kann.

Abgesehen davon, gibt es die Ressourcenkontrolle. Mit diesem neuen Feature können Sie den Umfang der Ressourcen definieren, die einzelne oder Gruppierungen von Arbeitsauslastungen bei der Ausführung verwenden. Mit der Ressourcenkontrolle können Sie eine Umgebung erstellen, in der viele verschiedene Arbeitsauslastungen auf einem Server nebeneinander existieren können, ohne befürchten zu müssen, dass eine oder mehrere Arbeitsauslastungen den Server überfordern und die Leistung der anderen Arbeitsauslastungen herabsetzen.

Der Vorteil dieses Features besteht darin, dass Sie den Gesamtumfang der Ressourcen, die auf Ihren Datenbankservern verfügbar sind, effektiver verwenden können. In Abbildung 3 wird ein Beispiel für das Verwenden der Ressourcenkontrolle zur Begrenzung der Aktivität auf einem Server gezeigt.

Figure 3 Aktivitätsbeschränkung mit der Ressourcenkontrolle

USE master
go

--Drop function
IF OBJECT_ID('rgclassifier_demo','Function') IS NOT NULL
DROP FUNCTION rgclassifier_demo
go

--Create a classifier function for report group
CREATE FUNCTION rgclassifier_demo() RETURNS SYSNAME 
WITH SCHEMABINDING
AS
BEGIN
    DECLARE @group_name AS SYSNAME
  IF (USER_NAME() LIKE '%Launch_Demo%')
         SET @group_name = 'demogroup'
    RETURN @group_name
END
GO

--Drop workload group for anything coming from Management Studio
IF EXISTS (SELECT name FROM sys.resource_governor_workload_groups 
  WHERE name = 'demogroup')
BEGIN
  DROP WORKLOAD GROUP demogroup
END
GO

--Create workload group
CREATE WORKLOAD GROUP demogroup
GO

--Register the classifier function with 
--Resource Governor
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION= dbo.rgclassifier_demo)
GO

--Alter the dbogroup workload group to only 
--allow 10% of CPU for each workload request 
ALTER WORKLOAD GROUP demogroup
WITH (REQUEST_MAX_CPU_TIME_SEC = 10)
GO

--Create a new resource pool and set a maximum CPU limit for all workloads.
IF EXISTS (SELECT name FROM sys.resource_governor_resource_pools
  WHERE name = 'pooldemo')
DROP RESOURCE POOL pooldemo
GO
  
CREATE RESOURCE POOL pooldemo
WITH (MAX_CPU_PERCENT = 40)
GO

--Configure the workload group so it uses the 
--new resource pool. 
ALTER WORKLOAD GROUP demogroup
USING pooldemo
GO

--Apply the changes to the Resource Governor
--in-memory configuration.
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

Neuerungen bei der Leistung

Die allgemeine Leistung von Datenbanken wird mit SQL Server 2008 verbessert. Dank mehrerer neuer in SQL Server 2008 enthaltener Features können Sie die Leistung Ihrer Datenbanken und der dafür ausgeführten Anwendungen steuern und überwachen.

Wenn in jeder Sekunde eine große Anzahl von Transaktionen durchgeführt wird, kann die Sperre, die in der Regel während dieser Transaktionen auftritt, eine negative Auswirkung auf die Leistung Ihrer Datenbankanwendungen haben. SQL Server wurde so entworfen, dass es die Gesamtanzahl der Sperren in einem Prozess verringert, indem die Sperren angefangen bei den kleineren Sperren auf Zeilenebene und Seitenebene auf die großen Sperren auf Tabellenebene ausgeweitet werden. Es ist wichtig zu verstehen, dass diese Sperrenausweitung Probleme verursachen kann. Zum Beispiel kann eine einzige Transaktion eine gesamte Tabelle sperren und verhindern, dass andere Transaktionen mit dieser Tabelle arbeiten.

SQL Server 2008 arbeitet mit der Methode der Tabellenpartitionierung (die in SQL Server 2005 eingeführt wurde), um dem SQL Server-Modul zu ermöglichen, Sperren vor der Tabellenebene zur Partitionsebene weiterzuleiten. Diese Zwischenebene für Sperren kann die Auswirkung der Sperrenausweitung auf Systeme, die Hunderte und Tausende von Transaktionen pro Sekunde verarbeiten müssen, deutlich verringern.

SQL Server 2008 bietet mehrere neue Abfrageprozessorverbesserungen für die Interaktion der Abfrage mit partitionierten Tabellen. Der Abfrageoptimierer kann jetzt Abfragesuchen für Partitionen durchführen, wie er das für einzelne Indizes tun würde, indem er nur mit der Partitions-ID und nicht der Partitionierungsmethode auf Tabellenebene arbeitet.

Neuerungen bei der Verfügbarkeit

Mit der zunehmenden Komplexität der Datenbankumgebungen und der zunehmenden Größe der Datenbanken wird es immer schwieriger, eine hohe Verfügbarkeit dieser Datenbanken sicherzustellen. Die vertrauten Methoden, die Sie früher verwendet haben, um eine hohe Verfügbarkeit zu erreichen, sind in SQL Server 2008 weiterhin vorhanden. Einige dieser Features sind jedoch in SQL Server 2008 verbessert worden, und es wurden einige neue hinzugefügt.

Mit SQL Server 2005 haben viele Administratoren angefangen, die Datenbankspiegelung zu implementieren, um eine hohe Verfügbarkeit zu erreichen. SQL Server 2008 bietet viele Verbesserungen für die Praxis der Datenbankspiegelung. In der Vergangenheit wies die Datenbankspiegelung gelegentlich Leistungsprobleme auf, die mit dem Verschieben verschiedener Transaktionsprotokolldaten vom Prinzipal zu den gespiegelten Datenbanken zusammenhingen. Als Reaktion darauf verringert SQL Server 2008 jetzt den Umfang der Informationen, die über das Netzwerk vom Transaktionsprotokoll des Prinzipals zum Transaktionsprotokoll der Spiegelung verschoben werden, indem die Informationen vor dem Senden an das Transaktionsprotokoll der Spiegelung zur Absicherung komprimiert werden.

Sie haben jetzt die Möglichkeit, beschädigte Datenseiten auf dem Prinzipal zu reparieren. Wenn eine Prinzipaldatenbank fehlerhafte Datenseiten aufgrund der Fehler 823 und 824 aufweist, kann der Prinzipal von den gespiegelten Servern eine neue Kopie der Datenseiten anfordern. Diese Anforderung fehlerfreier Datenseiten ist ein automatisierter Prozess, der für alle Benutzer transparent ist, die gerade auf die Prinzipaldatenbanken zugreifen.

Ein anderes neues Feature, Hot Add CPU, ermöglicht, einem Datenbankserver zusätzliche CPUs hinzuzufügen, ohne die Verfügbarkeit der Datenbanken auf diesem Server zu beeinträchtigen. Sie sollten jedoch wissen, dass Hot Add CPU einige Einschränkungen aufweist, da es nur beim Ausführen der Itanium-basierten 64-Bit-Windows Server® 2008 Enterprise Edition oder Datacenter Edition von Nutzen ist und die Enterprise Edition von SQL Server 2008 erfordert.

Neuerungen bei der Sicherheit

SQL Server 2005 hat Datensicherheit in Form von Datenverschlüsselung eingeführt. Mit SQL Server 2008 ist die Verschlüsselung durch die Einführung zweier Features verbessert worden: der erweiterbaren Schlüsselverwaltung und der transparenten Datenverschlüsselung.

Die erweiterbare Schlüsselverwaltung ermöglicht, dass eine verbesserte Struktur für eine sichere Speicherung der Schlüssel sorgt, die in der Verschlüsselungsinfrastruktur verwendet werden – nicht nur in der Datenbank selbst, sondern auch außerhalb der Datenbank in Softwaremodulen von Drittanbietern oder mit einem Hardwaresicherheitsmodul.

Die transparente Datenverschlüsselung bietet eine verbesserte Flexibilität beim Verschlüsseln von Daten, indem sie ermöglicht, dass die Verschlüsselung eine Eigenschaft der Datenbank und nicht einfach nur das Ergebnis der Funktionen in einer Codezeile ist. Das Ergebnis ist, dass Administratoren die große Zahl der Änderungen, die für ihre Datenbankstruktur und ihren Anwendungscode erforderlich sind, nicht durchführen müssen, wenn sie eine Verschlüsselung auf Datenebene durchführen. Der Code in Abbildung 4 veranschaulicht, wie Sie eine Datenbank mithilfe der transparenten Datenverschlüsselung verschlüsseln können.

Figure 4 Verwenden der transparenten Datenverschlüsselung

USE master;
GO

--Create a master key
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YouWillNeedToCreateAStrongPassword';
GO

--Create a certificate to use with TDE
CREATE CERTIFICATE TDECERT WITH SUBJECT = 'TDECert'
GO

--Change to the database to encrypt
USE AdventureWorks
GO

--Create your database master key
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128 --Use a strong algorithm
ENCRYPTION BY SERVER CERTIFICATE TDECERT
GO

--Alter the database to encrypt it with the
--master database key
ALTER DATABASE AdventureWorks
SET ENCRYPTION ON
GO

Änderungen für Entwickler

Datenbankadministratoren sind nicht die einzigen, die direkt von den Änderungen in SQL Server 2008 profitieren werden. Eine Reihe neuer Features wurde entworfen, um Datenbankentwickler zu unterstützen. Diese neuen Features reichen von neuen T-SQL-Verbesserungen zu neuen Komponenten, die Entwicklern helfen können, Datenbankabfragen zu erstellen und zu verwenden.

Viele Datenbankentwickler sind für das Erstellen der Abfragen verantwortlich, die zum Zurückgeben der für ihre Anwendungen erforderlichen Daten notwendig sind. Sie sind vermutlich mit dem LINQ-Tool (Language Integrated Query) vertraut, mit dem Datenbankentwickler Abfragen für eine Datenbank veröffentlichen können, indem sie eine auf Microsoft® .NET basierte Programmiersprache statt der üblichen T-SQL-Anweisungen verwenden. LINQ wird von SQL Server 2008 verbessert, indem ein neuer LINQ to SQL-Anbieter bereitgestellt wird, der Entwicklern die Ausgabe von LINQ-Befehlen direkt für SQL Server-Tabellen und -Spalten ermöglicht. Dadurch wird die für das Erstellen neuer Datenabfragen benötigte Zeit verkürzt.

Beim Entwickeln anhand von Datenbanken verwenden Entwickler Objekte höherer Ebene, die sie einzelnen Datenbanktabellen und -spalten zuordnen. Diese Objekte, auch Entitäten genannt, repräsentieren die für Datenbankanwendungen erforderlichen Daten, und deshalb müssen Entwickler mit der eigentlichen Speicherstruktur der Daten und dem Schema der Datenbank nicht vertraut sein. Das neue ADO.NET Entity Framework ermöglicht Entwicklern jetzt, mithilfe dieser Entitäten Datenbankabfragen zu erstellen. Die Abstraktion der Datenbankstruktur gestattet Entwicklern, produktiver zu sein.

SQL Server 2008 stellt viele verschiedene Verbesserungen für T-SQL bereit, die Datenbankentwicklern ermöglichen, effizienter zu sein. Ein Beispiel ist die neue MERGE-Anweisung, die Entwicklern ermöglicht, vor dem Einfügen der Daten ihre Existenz zu prüfen. Durch diese Überprüfung vor dem Durchführen der INSERT-Anweisung können die Daten aktualisiert werden. Es ist nicht mehr notwendig, komplexe Verknüpfungen zu erstellen, um existierende Daten zu aktualisieren und noch nicht existierende Daten einzufügen, und das alles in einer einzigen Anweisung.

Außerdem wurde die Trennung der Uhrzeit- und Datumsdaten vom kombinierten Datum/Uhrzeit-Datentyp vereinfacht. SQL Server 2008 führt zwei separate Datentypen ein, um die Datums- und Uhrzeitdaten zu behandeln. Verschiedene Datentypen bewirken eine verbesserte Leistung für viele Abfragen, da es nicht mehr notwendig ist, einen Datenvorgang durchzuführen, bevor die Daten in der Abfrage verwendet werden können.

Beim Erstellen neuerer Datenbankstrukturen stellen Datenbankentwickler oft fest, dass sie die Struktur der Datenbanken ausdehnen müssen, um Zuordnungsanwendungen zu implementieren. In SQL Server 2008 kann dieses Problem mit neuen räumlichen Datentypen behandelt werden. Die zwei räumlichen Datentypen GEOGRAPHY und GEOMETRY ermöglichen Entwicklern, ortsspezifische Daten direkt in der Datenbank zu speichern, ohne diese Datenelemente in Formate zerlegen zu müssen, die für andere Standarddatentypen geeignet sind. Der Code in Abbildung 5 ist ein Beispiel für eine einfache Tabelle mit räumlichen Daten.

Figure 5 Eine einfache Tabelle mit räumlichen Daten

IF OBJECT_ID ( 'Demo_SpatialTable', 'Table' ) IS NOT NULL 
    DROP TABLE Demo_SpatialTable
GO

--Create table to hold spatial data
CREATE TABLE Demo_SpatialTable 
    ( SpatialID int IDENTITY (1,1),
    SpatialInputCol geography, 
    SpatialOutputCol AS SpatialInputCol.STAsText() )
GO

--Insert data into table
INSERT INTO Demo_SpatialTable (SpatialInputCol)
VALUES (geography::STGeomFromText('LINESTRING(47.656 -122.360, 47.656 -122.343)', 4326));

INSERT INTO Demo_SpatialTable (SpatialInputCol)
VALUES (geography::STGeomFromText('POLYGON((47.653 -122.358, 47.649 -122.348, 47.658 -122.348, 47.658 -122.358, 47.653 -122.358))', 4326));
GO

--View data to see that data has been converted and stored in col2
SELECT * FROM Demo_SpatialTable

Ein sehr häufiges Problem, mit dem Datenbankentwickler früher konfrontiert wurden, war die Frage, wie sie große binäre Objekte, wie z. B. Dokumente und Mediendateien, speichern und verwenden können. Die häufig verwendete Methode bestand darin, die Dateien außerhalb der Datenbank zu speichern und in der Datenbank nur einen Zeiger zur externen Datei zu speichern. Bei dieser Methode müssen Sie jedoch beim Verschieben der Datei daran denken, den Zeiger zu aktualisieren.

SQL Server 2008 behandelt dieses Problem mit dem neuen FILESTREAM-Datentyp. Mit diesem Datentyp können Dateien weiterhin außerhalb der Datenbank gespeichert werden, die Daten werden aber zwecks Transaktionskonsistenz als Teil der Datenbank angesehen. Dies ermöglicht die Verwendung häufiger Dateivorgänge, während die Leistungs- und Sicherheitsvorteile der Datenbank weiterhin beibehalten werden.

Neuerungen bei Business Intelligence

Die in den letzten Jahren zunehmende Verwendung von SQL Server wurde größtenteils durch die Übernahme von Business Intelligence-Strategien gefördert. Business Intelligence-Funktionen sind nichts Neues in SQL Server, aber SQL Server 2008 bringt einige neue Features mit sich.

Wenn zum Beispiel Daten in Data Warehouses gespeichert werden, wird oft aufgrund von NULL-Werten Speicherplatz verschwendet. Spalten, die NULL-Werte speichern, verbrauchen den Speicherplatz der größten zulässigen Datengröße, die in der Spalte definiert ist. Dies bedeutet, dass eine Spalte mit Tausenden von NULL-Werten tatsächlich viele MB Speicherplatz einnehmen kann, ohne wirklich Daten zu speichern.

SQL Server 2008 führt Spalten mit geringer Dichte ein, sodass NULL-Werte gespeichert werden, ohne physischen Speicherplatz auf dem Datenträger einzunehmen. Da Spalten mit geringer Dichte eigentlich keinen Speicherplatz benötigen, können Tabellen, die solche platzsparenden Spalten enthalten, die Spaltenbeschränkung von 1024 überschreiten.

SQL Server 2008 führt zudem zum Verwalten inkrementeller Änderungen, die in das Data Warehouse geladen werden müssen, eine neue Methode namens „Change Data Capture“ ein. Bei dieser Methode werden geänderte Daten erfasst und in einem Satz von Änderungstabellen platziert. Die Erfassung aktualisierter, gelöschter und eingefügter Daten in einem problemlos nutzbaren Speicherschema ermöglicht das inkrementelle Laden der Data Warehouses seitens der Tabellen – im Gegensatz zu früher, als benutzerdefinierte insert-Anweisungen erstellt werden mussten, die vor dem Aktualisieren des Data Warehouse versuchten, die Änderungen festzustellen, die an den vorhandenen Datenzeilen vorgenommen wurden.

Zusammenfassung

Dies ist nur eine kurze Übersicht darüber, was SQL Server 2008 zu bieten hat. Die vielfältigen neuen Features und die Updates zu vorhandenen Features wird die Arbeit der Datenbankadministratoren und Datenbankentwickler erleichtern. Letztlich wird dieses Produkt eine stark verbesserte Leistung und Skalierbarkeit für die wachsenden Ansprüche moderner Datenbanken bieten.

Randy Dyess ist ein Mentor bei Solid Quality Mentors. Sein Spezialgebiet sind SQL Server-OLTP-Systeme. Randy Dyess ist der Autor von TransactSQL Language Reference Guide, der Mitautor von MCTS Self-Paced Training Kit: Microsoft SQL Server 2005 Implementation and Maintenance (Exam 70-431) und hat zahlreiche Zeitschriften- und Newsletterartikel verfasst. Außerdem ist er der Programmdirektor der SQL Server-Benutzergruppe von Nordtexas und ein SQL Server-MVP. Besuchen Sie seinen Blog unter blogs.solidq.com/EN/rdyess/default.aspx.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.