Spezielle Tabellentypen

Neben der Standardrolle der grundlegenden benutzerdefinierten Tabellen bietet SQL Server die folgenden Typen von Tabellen, die innerhalb einer Datenbank speziellen Zwecken dienen:

  • Partitionierte Tabellen

  • Temporäre Tabellen

  • Systemtabellen

  • Breite Tabellen

Partitionierte Tabellen

Partitionierte Tabellen sind Tabellen, deren Daten horizontal in Einheiten aufgeteilt sind, die über mehrere Dateigruppen innerhalb einer Datenbank verteilt sein können. Durch die Partitionierung werden große Tabellen oder Indizes leichter zu verwalten, denn Sie können dadurch schnell und effizient auf Datenteilmengen zugreifen und sie verwalten, während die Integrität der gesamten Sammlung erhalten bleibt. In einem Partitionierungsszenario können Vorgänge wie z. B. das Laden von Daten aus einem OLTP-System in ein OLAP-System lediglich Sekunden beanspruchen und nicht Minuten oder Stunden, wie das in früheren Versionen der Fall war. Außerdem können Wartungsvorgänge, die an Datenteilmengen ausgeführt werden, effizienter ablaufen, weil sie nur auf die wirklich erforderlichen Daten abzielen und nicht auf die gesamte Tabelle.

Die Partitionierung einer Tabelle ist sinnvoll, wenn die Tabelle sehr groß ist oder wahrscheinlich sehr groß werden wird und wenn eine der folgenden Aussagen zutrifft:

  • Die Tabelle enthält bereits oder wird künftig wahrscheinlich viele Daten enthalten, die auf unterschiedliche Weise verwendet werden.

  • Abfragen oder Aktualisierungen der Tabelle können nicht mit der erwarteten Leistung durchgeführt werden, oder die Wartungskosten übersteigen die festgelegten Wartungsperioden.

Partitionierte Tabellen unterstützen alle Eigenschaften und Features, die vom Entwerfen und Abfragen von Standardtabellen bekannt sind, d. h. Einschränkungen, Standardwerte, Identitäts- und Timestampwerte, Trigger und Indizes. Daher sollten Sie, wenn Sie eine partitionierte Sicht implementieren wollen, die für einen Server lokal ist, stattdessen eine partitionierte Tabelle implementieren. Weitere Informationen, die Ihnen beim Verstehen, Entwerfen und Implementieren von partitionierten Tabellen helfen, finden Sie unter Partitionierte Tabellen und Indizes.

Temporäre Tabellen

Es gibt zwei Arten von temporären Tabellen: lokale und globale temporäre Tabellen. Lokale temporäre Tabellen sind nur für ihre Ersteller und nur für die Verbindung mit einer Instanz von SQL Server sichtbar, mit der die Tabellen erstmals erstellt werden oder mit der erstmals auf die Tabellen verwiesen wird. Lokale temporäre Tabellen werden gelöscht, nachdem der Benutzer die Verbindung mit der Instanz von SQL Server trennt. Globale temporäre Dateien sind nach ihrer Erstellung für alle Benutzer und für jede Verbindung sichtbar, und sie werden erst gelöscht, wenn alle Benutzer, die auf die Tabellen verweisen, die Verbindung mit einer Instanz von SQL Server getrennt haben.

Weitere Informationen zu temporären Tabellen finden Sie unter Grundlegendes zum Erstellen und Ändern von Tabellen.

Systemtabellen

SQL Server speichert die Daten, die die Konfiguration des Servers sowie alle seine Tabellen definieren, in einem bestimmten Satz von Tabellen, die als Systemtabellen bezeichnet werden. Benutzer können die Systemtabellen nicht direkt abfragen oder aktualisieren, außer über eine dedizierte Administratorverbindung (DAC, Dedicated Administrator Connection), die nur auf Anweisung des Microsoft-Kundendienstes verwendet werden sollte. Weitere Informationen finden Sie unter Verwenden einer dedizierten Administratorverbindung. Die Systemtabellen werden üblicherweise mit jeder neuen Version von SQL Server geändert. Anwendungen, die direkt auf Systemdateien verweisen, müssen eventuell umgeschrieben werden, damit sie auf eine neuere Version von SQL Server mit einer anderen Version der Systemtabellen aktualisiert werden können. Die in den Systemtabellen enthaltenen Informationen werden über die Katalogsichten verfügbar gemacht. Weitere Informationen finden Sie unter Systemtabellen (Transact-SQL).

Wichtiger HinweisWichtig

Die SQL Server 2008-Datenbankmodul-Systemtabellen wurden nur zum Zweck der Abwärtskompatibilität als schreibgeschützte Sichten in SQL Server 2008 implementiert. Sie können mit den Daten in diesen Systemtabellen niemals direkt arbeiten. Es wird empfohlen, mit den Katalogsichten (Transact-SQL) auf die SQL Server-Metadaten zuzugreifen.

Breite Tabellen

Eine breite Tabelle ist eine Tabelle, die einen Spaltensatz definiert hat. Breite Tabellen verwenden Spalten mit geringer Dichte, um die möglichen Spalten einer Tabelle auf 30.000 zu erhöhen. Die Anzahl der Indizes und Statistiken wird ebenfalls auf 1.000 bzw. 30.000 erhöht. Die maximale Größe einer breiten Tabelle beträgt normalerweise 8.019 Byte. Deshalb sollten die meisten Daten einer Zeile NULL sein. Um eine breite Tabelle zu erstellen oder eine Tabelle in eine breite Tabelle zu ändern, fügen Sie der Tabellendefinition einen Spaltensatz hinzu. Für eine breite Tabelle beträgt die maximale Anzahl von Spalten ohne geringe Dichte zuzüglich der berechneten Spalten weiterhin 1.024.

Mit breiten Tabellen können Sie innerhalb einer Anwendung flexible Schemas erstellen. Sie können jederzeit Spalten hinzufügen oder entfernen. Denken Sie daran, dass die Verwendung breiter Tabellen sich direkt auf die Leistung auswirkt, z. B. durch erhöhte Anforderungen an den Arbeitsspeicher während der Laufzeit und Kompilierzeit. Weitere Informationen finden Sie unter Überlegungen zur Leistung von breiten Tabellen.

Siehe auch

Andere Ressourcen