Erweiterungen der Programmierbarkeit (Datenbankmodul)

HinweisHinweis

Für SQL Server 2008 R2 hat es keine Änderungen am Inhalt gegeben, der in diesem Thema aufgeführt ist.

Zu den Erweiterungen der Programmierbarkeit in Database Engine (Datenbankmodul) gehören neue Datenspeicherungsfunktionen, neue Datentypen, eine neue Architektur der Volltextsuche und zahlreiche Verbesserungen und Zusatzfunktionen zu Transact-SQL.

Datenspeicher

Komprimierte Speicherung von Tabellen und Indizes

SQL Server 2008 unterstützt die Speicherkomprimierung auf dem Datenträger im Zeilen- und Seitenformat für Tabellen, Indizes und indizierte Ansichten. Die Komprimierung von partitionierten Tabellen und Indizes kann für jede Partition unabhängig konfiguriert werden. Weitere Informationen finden Sie unter Erstellen komprimierter Tabellen und Indizes.

FILESTREAM-Speicherung

FILESTREAM ermöglicht es SQL Server-Anwendungen, nicht strukturierte Daten wie Dokumente und Bilder im Dateisystem zu speichern. Auf diese Weise können Clientanwendungen die umfassenden Streaming-APIs und die Leistung des Dateisystems nutzen und dabei die Transaktionskonsistenz zwischen den nicht strukturierten Daten und den entsprechenden strukturierten Daten aufrechterhalten. Weitere Informationen finden Sie unter Entwerfen und Implementieren der FILESTREAM-Speicherung.

Neue Sortierungen

Mit SQL Server 2008 werden neue Sortierungen eingeführt, die vollständig an die Sortierungen von Windows Server 2008 angepasst sind. Diese 80 neuen Sortierungen sind mit dem Versionshinweis „* _100“ gekennzeichnet. Diese Sortierungen bieten Benutzern die neuesten und sprachlich exakten kulturellen Sortierungskonventionen. Weitere Informationen finden Sie unter Sortierung und Unicode-Unterstützung und Arbeiten mit Sortierungen.

Partitionswechsel bei partitionierten Tabellen und Indizes

Durch die Datenpartitionierung können Sie Teilmengen von Daten schnell und effizient verwalten und darauf zugreifen, während die Integrität der gesamten Datensammlung erhalten bleibt. Mithilfe des Partitionswechsels können Sie jetzt Teilmengen Ihrer Daten schnell und effizient übertragen, indem Sie eine Partition von einer Tabelle in eine andere verschieben.

Informationen zu Konzepten des Partitionswechsels und Beispielcode für die Implementierung von Partitionswechseln finden Sie unter Effizientes Übertragen von Daten durch Partitionswechsel und Partitionswechsel bei definierten indizierten Sichten.

Spalten mit geringer Dichte und Spaltensätze

Spalten mit geringer Dichte sind gewöhnliche Spalten, die ein optimiertes Speicherformat für NULL-Werte haben. Verwenden Sie Spalten mit geringer Dichte, wenn mindestens 20 bis 40 Prozent der Werte in einer Spalte NULL-Werte sind. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringer Dichte.

Für Tabellen, die Spalten mit geringer Dichte aufweisen, können Sie einen Spaltensatz festlegen, der alle Spalten mit geringer Dichte in der Tabelle zurückgibt. Bei einem Spaltensatz handelt es sich um eine nicht typisierte XML-Darstellung, die alle Tabellenspalten mit geringer Dichte in einer strukturierten Ausgabe kombiniert. Weitere Informationen finden Sie unter Verwenden von Spaltensätzen.

Speicherung, Methoden und Indizierung von räumlichen Daten

Räumliche Daten stellen Informationen über die physische Position und die Form geometrischer Objekte dar. Bei diesen Objekten kann es sich um Punktpositionen oder komplexere Objekte handeln, z. B. Länder, Straßen oder Seen.

Weitere Informationen finden Sie unter Arbeiten mit räumlichen Daten (Datenbankmodul), geometry-Datentyp-Methodenverweis und geography-Datentyp-Methodenverweis.

Räumliche Indizes verbessern die Effizienz bestimmter mengenorientierter Vorgänge für räumliche Objekte (räumliche Daten). Ein räumlicher Index verringert die Anzahl von Objekten, auf die relativ kostenträchtige räumliche Vorgänge angewendet werden müssen. Weitere Informationen finden Sie unter Arbeiten mit Räumlichkeitsindizes (Datenbankmodul).

Breite Tabellen

Breite Tabellen sind Tabellen, die einen oder mehrere Spaltensätze enthalten. Eine breite Tabelle kann bis zu 30.000 Spalten, 1.000 Indizes und 30.000 Statistiken enthalten. Weitere Informationen finden Sie unter Spezielle Tabellentypen.

Datentypen

Datums- und Uhrzeitdatentypen

Mit SQL Server 2008 werden vier neue Datums- und Uhrzeitdatentypen eingeführt. Diese Datentypen bieten Anwendungen separate Typen für Datums- oder Uhrzeitangaben, einen größeren Bereich bei Jahresangaben, eine größere Genauigkeit in Sekundenbruchteilen sowie Zeitzonen-Offsetunterstützung. Weitere Informationen finden Sie unter Verwenden von Datums- und Zeitdaten.

Der Datentyp „hierarchyid“

SQL Server 2008 führt einen neuen vom System bereitgestellten Datentyp ein, der hierarchische Beziehungen kapselt. Mit dem Datentyp hierarchyid erstellen Sie Tabellen mit einer hierarchischen Struktur, oder Sie verweisen mit diesem Typ auf hierarchisch geordnete Daten an einem anderen Speicherort. Mithilfe hierarchischer Methoden können Sie mit Transact-SQL hierarchische Daten abfragen und mit diesen arbeiten.

Beispiele für Bereiche, in denen der Typ hierarchyid das Speichern und Abfragen hierarchischer Daten vereinfacht:

  • Eine Organisationsstruktur

  • Ein Dateisystem

  • Eine Gruppe von Aufgaben in einem Projekt.

  • Eine Taxonomie sprachlicher Termini

  • Ein Diagramm der Links zwischen Webseiten

Der verwandte CLR-Datentyp SqlHierarchyId ist für Clientanwendungen verfügbar. Weitere Informationen finden Sie unter Verwenden von hierarchyid-Datentypen (Datenbankmodul).

Räumliche Datentypen

Mit SQL Server 2008 werden zwei räumliche Datentypen eingeführt: geometry und geography. Der Datentyp geometry unterstützt planare bzw. euklidische (flache) Daten. Der Datentyp geography speichert elliptische Daten (Globusmodell), wie z. B. GPS-Koordinaten in Längen- und Breitengraden. Diese neuen Datentypen unterstützen die Speicherung und Bearbeitung von räumlichen Datenobjekten, wie z. B. LineStrings, Punkten und Polygonen. Weitere Informationen finden Sie unter Arbeiten mit räumlichen Daten (Datenbankmodul).

Benutzerdefinierter Tabellentyp

Mit Database Engine (Datenbankmodul) wird ein neuer benutzerdefinierter Tabellentyp eingeführt, der die Darstellung von Tabellenstrukturen unterstützt, die als Parameter in gespeicherten Prozeduren und Funktionen oder in einem Stapel oder im Textteil einer gespeicherten Prozedur oder Funktion verwendet werden können. Sie haben die Möglichkeit, eindeutige Einschränkungen und Primärschlüssel für benutzerdefinierte Tabellentypen zu erstellen.

Weitere Informationen finden Sie unter Benutzerdefinierte Tabellentypen.

Benutzerdefinierte Typen (User Defined Types, UDT)

Die maximale Größe eines UDT wurde auf 2.147.483.647 Byte erhöht.

Volltextsuche

Mit der SQL Server 2008 Enterprise-Volltextsuche wird eine neue Volltextarchitektur eingeführt. Die Volltextsuche ist jetzt ein vollständig integrierte Funktion einer Datenbank. Im Ergebnis ist die Volltextsuche in den folgenden Bereichen deutlich verbessert worden:

  • Die Volltextkataloge werden nicht im Dateisystem gespeichert, sondern sind in die Datenbank integriert, sodass jetzt beim Verschieben einer Datenbank die Volltextkataloge automatisch mitverschoben werden.

  • SQL Server 2005-Füllwörter wurden durch Stoppwörter ersetzt. Die Konfiguration von Stoppwörtern wird von einem neuen Satz von Stopplistenobjekten verwaltet. Diese Objekte sind mit der Datenbank verknüpft und werden zusammen mit dieser verschoben. Damit wird die Stoppwortkonfiguration während Verwaltbarkeitsvorgängen wie Sichern und Wiederherstellen, Trennen und Anfügen sowie Kopieren einer Datenbank mit dem Assistenten zum Kopieren von Datenbanken intakt gehalten. Weitere Informationen finden Sie unter Stoppwörter und Stopplisten.

  • Die Abfrage- und Indizierungsleistung hat sich in einigen bestimmten Szenarien infolge der Integration mit anderen wichtigen Abfragekomponenten, wie z. B. dem Abfrageoptimierer, erheblich verbessert. Weitere Informationen finden Sie unter Leistungssteigerung und Optimierung von Volltextindizes.

  • Neue Tools helfen Ihnen, den Rohdateninhalt eines Volltextindexes und das Verhalten einer speziellen Worttrennung in einem bestimmten Abfrageausdruck bzw. einer bestimmten Abfragephrase zu verstehen. Weitere Informationen finden Sie unter sys.dm_fts_index_keywords (Transact-SQL), sys.dm_fts_index_keywords_by_document (Transact-SQL) und sys.dm_fts_parser (Transact-SQL). Diese und weitere neue dynamische Verwaltungsansichten und gespeicherte Prozeduren vereinfachen die Behandlung von Problemen mit der Volltextsuche. Informationen über diese Ressourcen für die Problembehandlung finden Sie unter Problembehandlung bei der Volltextsuche.

  • Eine neue Familie von Worttrennungen verbessert die Worttrennungsgenauigkeit und erweitert den Satz der Sprachen, die für eine Volltextsuche zur Verfügung stehen. Weitere Informationen finden Sie unter Wörtertrennung und Wortstammerkennung.

Weitere Informationen finden Sie unter Verhaltensänderungen der Volltextsuche in SQL Server 2008 R2, Als veraltet markierte Funktionen der Volltextsuche in SQL Server 2008 R2, Fehlerhafte Änderungen der Volltextsuche in SQL Server 2008 R2 und Architektur der Volltextsuche.

Transact-SQL

Kompatibilitätsgrad

ALTER DATABASE SET COMPATIBILITY_LEVEL ersetzt sp_dbcmptlevel zum Festlegen des Datenbankkompatibilitätsgrads. Weitere Informationen finden Sie unter ALTER DATABASE-Kompatibilitätsgrad (Transact-SQL).

Verbundoperatoren

Zur Verfügung stehen Operatoren, die einen Vorgang ausführen und eine Variable auf das Ergebnis festlegen, z. B. SET @x += 2. Weitere Informationen finden Sie unter Verbundoperatoren (Transact-SQL).

CONVERT-Funktion

Die CONVERT-Funktion wurde verbessert, um Konvertierungen zwischen binären und Zeichen-Hexadezimalwerten zu ermöglichen. Weitere Informationen finden Sie unter CAST und CONVERT (Transact-SQL).

Datums- und Uhrzeitfunktionalität

SQL Server 2008 unterstützt das ISO-Wochensystem. Weitere Informationen finden Sie unter DATEPART (Transact-SQL).

GROUPING SETS

Die Operatoren GROUPING SETS, ROLLUP und CUBE werden der GROUP BY-Klausel hinzugefügt. Es gibt eine neue Funktion, GROUPING_ID(), die mehr Informationen auf Gruppierungsebene zurückgibt als die vorhandene GROUPING()-Funktion. Die nicht ISO-kompatible Syntax WITH ROLLUP, WITH CUBE und ALL ist veraltet. Weitere Informationen finden Sie unter Verwenden von GROUP BY mit ROLLUP, CUBE und GROUPING SETS.

MERGE-Anweisung

Diese neue Transact-SQL-Anweisung führt INSERT-, UPDATE- oder DELETE-Vorgänge in einer Zieltabelle anhand der Ergebnisse eines Joins mit einer Quelltabelle aus. In der Syntax können Sie eine Datenquelle mit einer Zieltabelle oder einer Zielansicht verknüpfen und dann mehrere Aktionen auf der Grundlage der Ergebnisse dieses Join ausführen. Weitere Informationen finden Sie unter MERGE (Transact-SQL).

SQL-Abhängigkeitsberichterstattung

SQL Server 2008 führt eine neue Katalogsicht und neue Systemfunktionen ein, um eine einheitliche und zuverlässige SQL-Abhängigkeitsberichterstattung zu ermöglichen. Wenn Sie sys.sql_expression_dependencies, sys.dm_sql_referencing_entities und sys.dm_sql_referenced_entities verwenden, können Sie Berichte zu serverübergreifenden und datenbankübergreifenden Abhängigkeiten sowie zu Datenbank-SQL-Abhängigkeiten für schemagebundene und nicht schemagebundene Objekte generieren. Weitere Informationen finden Sie unter Berichte über SQL-Abhängigkeiten.

Tabellenwertparameter

Database Engine (Datenbankmodul) führt einen neuen Parametertyp ein, der auf benutzerdefinierte Tabellentypen verweisen kann. Tabellenwertparameter können mehrere Datenzeilen an eine SQL Server-Anweisung oder an eine Routine übergeben (z. B. eine gespeicherte Prozedur oder eine Funktion), ohne eine temporäre Tabelle zu erstellen. Weitere Informationen finden Sie unter Tabellenwertparameter (Datenbankmodul).

Transact-SQL-Zeilenkonstruktoren

Die Verbesserung von Transact-SQL ermöglicht mehrere Werteinfügungen innerhalb einer einzigen INSERT-Anweisung. Weitere Informationen finden Sie unter INSERT (Transact-SQL).

Siehe auch

Konzepte