Spezifikationen der maximalen Kapazität für SQL Server
Die folgende Tabelle gibt die maximale Größe und Anzahl verschiedener in SQL Server-Komponenten definierter Objekte an. Um zur Tabelle für eine SQL Server-Technologie zu navigieren, klicken Sie auf den zugehörigen Link:
SQL Server-Datenbankmodul-Objekte
SQL Server-Hilfsprogrammobjekte
SQL Server-Datenebenenanwendungs-Objekte
SQL Server-Replikationsobjekte
Datenbankmodul-Objekte
Die folgende Tabelle gibt die maximale Größe und Anzahl verschiedener in SQL Server-Datenbanken definierter oder in Transact-SQL-Anweisungen referenzierter Objekte an.
SQL Server-Datenbankmodul-Objekt |
Maximale Größe/Anzahl SQL Server (32-Bit) |
Maximale Größe/Anzahl SQL Server (64-Bit) |
||
---|---|---|---|---|
Batchgröße1 |
65.536 * Netzwerkpaketgröße |
65.536 * Netzwerkpaketgröße |
||
Bytes pro Spalte mit kurzen Zeichenfolgen |
8,000 |
8,000 |
||
Bytes pro GROUP BY, ORDER BY |
8,060 |
8,060 |
||
Bytes pro Indexschlüssel2 |
900 |
900 |
||
Bytes pro Fremdschlüssel |
900 |
900 |
||
Bytes pro Primärschlüssel |
900 |
900 |
||
Bytes pro Zeile8 |
8,060 |
8,060 |
||
Bytes im Quelltext einer gespeicherten Prozedur |
Kleiner als Batchgröße oder 250 MB |
Kleiner als Batchgröße oder 250 MB |
||
Bytes pro varchar(max)-, varbinary(max)-, xml-, text- oder image-Spalte. |
2^31-1 |
2^31-1 |
||
Zeichen pro ntext- oder nvarchar(max)-Spalte |
2^30-1 |
2^30-1 |
||
Gruppierte Indizes pro Tabelle |
1 |
1 |
||
Spalten in GROUP BY, ORDER BY |
Begrenzung nur durch die Anzahl von Bytes |
Begrenzung nur durch die Anzahl von Bytes |
||
Spalten oder Ausdrücke in einer GROUP BY WITH CUBE- oder WITH ROLLUP-Anweisung |
10 |
10 |
||
Spalten pro Indexschlüssel7 |
16 |
16 |
||
Spalten pro Fremdschlüssel |
16 |
16 |
||
Spalten pro Primärschlüssel |
16 |
16 |
||
Spalten pro Tabelle (keine breite Tabelle) |
1,024 |
1,024 |
||
Spalten pro breiter Tabelle |
30,000 |
30,000 |
||
Spalten pro SELECT-Anweisung |
4,096 |
4,096 |
||
Spalten pro INSERT-Anweisung |
4096 |
4096 |
||
Verbindungen pro Client |
Höchstwert konfigurierter Verbindungen |
Höchstwert konfigurierter Verbindungen |
||
Datenbankgröße |
524.272 Terabyte |
524.272 Terabyte |
||
Datenbanken pro Instanz von SQL Server |
32,767 |
32,767 |
||
Dateigruppen pro Datenbank |
32,767 |
32,767 |
||
Dateien pro Datenbank |
32,767 |
32,767 |
||
Dateigröße (Daten) |
16 Terabytes |
16 Terabytes |
||
Dateigröße (Protokoll) |
2 Terabytes |
2 Terabytes |
||
Verweise auf Fremdschlüsseltabellen pro Tabelle4 |
253 |
253 |
||
Bezeichnerlänge (in Zeichen) |
128 |
128 |
||
Instanzen pro Computer |
50 Instanzen auf einem eigenständigen Server für alle SQL Server-Editionen. SQL Server unterstützt 25 Instanzen auf einem Failovercluster, wenn Sie für Ihre Clusterinstallation einen freigegebenen Clusterdatenträger als Speicheroption verwenden. SQL Server unterstützt 50 Instanzen auf einem Failovercluster, wenn Sie für Ihre Clusterinstallation SMB-Dateifreigaben als Speicheroption verwenden. Weitere Informationen finden Sie unter Speichertypen für Datendateien. |
50 Instanzen auf einem eigenständigen Server. 25 Instanzen auf einem Failovercluster, wenn Sie für Ihre Clusterinstallation einen freigegebenen Clusterdatenträger als Speicheroption verwenden. SQL Server unterstützt 50 Instanzen auf einem Failovercluster, wenn Sie für Ihre Clusterinstallation SMB-Dateifreigaben als Speicheroption verwenden. Weitere Informationen finden Sie unter Speichertypen für Datendateien. |
||
Länge einer Zeichenfolge, die SQL-Anweisungen enthält (Batchgröße)1 |
65.536 * Netzwerkpaketgröße |
65.536 * Netzwerkpaketgröße |
||
Sperren pro Verbindung |
Maximale Anzahl Sperren pro Server |
Maximale Anzahl Sperren pro Server |
||
Sperren pro Instanz von SQL Server5 |
Bis zu 2.147.483.647 |
Begrenzung nur durch Arbeitsspeicher |
||
Schachtelungsebenen gespeicherter Prozeduren6 |
32 |
32 |
||
Geschachtelte Unterabfragen |
32 |
32 |
||
Schachtelungsebenen für Trigger |
32 |
32 |
||
Nicht gruppierte Indizes pro Tabelle |
999 |
999 |
||
Anzahl der unterschiedlichen Ausdrücke in der GROUP BY-Klausel bei Vorhandensein eines der folgenden Ausdrücke: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP |
32 |
32 |
||
Anzahl der Gruppierungssätze, die von Operatoren in der GROUP BY-Klausel generiert wurden |
4,096 |
4,096 |
||
Parameter pro gespeicherter Prozedur |
2,100 |
2,100 |
||
Parameter pro benutzerdefinierter Funktion |
2,100 |
2,100 |
||
REFERENCES pro Tabelle |
253 |
253 |
||
Zeilen pro Tabelle |
Begrenzung durch verfügbaren Speicherplatz |
Begrenzung durch verfügbaren Speicherplatz |
||
Tabellen pro Datenbank3 |
Begrenzung durch die Anzahl der Objekte in einer Datenbank |
Begrenzung durch die Anzahl der Objekte in einer Datenbank |
||
Partitionen pro partitionierter Tabelle oder partitioniertem Index |
1,000
|
15,000 |
||
Statistiken für nicht indizierte Spalten |
30,000 |
30,000 |
||
Tabellen pro SELECT-Anweisung |
Begrenzung nur durch verfügbare Ressourcen |
Begrenzung nur durch verfügbare Ressourcen |
||
Trigger pro Tabelle3 |
Begrenzung durch die Anzahl der Objekte in einer Datenbank |
Begrenzung durch die Anzahl der Objekte in einer Datenbank |
||
Spalten pro UPDATE-Anweisung (breite Tabellen) |
4096 |
4096 |
||
Benutzerverbindungen |
32,767 |
32,767 |
||
XML-Indizes |
249 |
249 |
1 Die Netzwerk-Paketgröße entspricht der Größe der TDS-Pakete (Tabular Data Stream), die für die Kommunikation zwischen Anwendungen und relationalem Database Engine (Datenbankmodul) verwendet werden. Die Standardpaketgröße beträgt 4 KB und wird durch die Konfigurationsoption network packet size gesteuert.
2 Die maximale Anzahl von Bytes in einem beliebigen Indexschlüssel kann den Wert 900 in SQL Server nicht überschreiten. Sie können einen Schlüssel mithilfe von Spalten variabler Länge definieren, deren maximale Größen zusammen mehr als 900 Bytes betragen, wenn niemals eine Zeile eingefügt wird, die in diesen Spalten mehr als 900 Bytes an Daten enthält. In SQL Server können Sie Nichtschlüsselspalten in den nicht gruppierten Index aufnehmen, um die maximale Indexschlüsselgröße von 900 Bytes zu vermeiden.
3 Zu den Datenbankobjekten zählen Tabellen, Sichten, gespeicherte Prozeduren, benutzerdefinierte Funktionen, Trigger, Regeln, Standardwerte und Einschränkungen. Die Summe aller Objekte in einer Datenbank kann 2.147.483.647 nicht übersteigen.
4 Auch wenn eine Tabelle eine unbegrenzte Anzahl von FOREIGN KEY-Einschränkungen enthalten kann, werden maximal 253 empfohlen. In Abhängigkeit von der Hardwarekonfiguration, die SQL Server hostet, kann das Angeben weiterer FOREIGN KEY-Einschränkungen den Abfrageoptimierer bei der Verarbeitung stark beanspruchen.
5 Dieser Wert dient der statischen Sperrenzuordnung. Dynamische Sperren sind nur durch den Arbeitsspeicher beschränkt.
6 Wenn eine gespeicherte Prozedur auf mehr als 64 Datenbanken zugreift oder sich mehr als 2 Datenbanken überlappen, wird eine Fehlermeldung angezeigt.
7 Wenn die Tabelle einen oder mehrere XML-Indizes enthält, ist der Gruppierungsschlüssel der Benutzertabelle auf 15 Spalten beschränkt, das die XML-Spalte dem Gruppierungsschlüssel des primären XML-Index hinzugefügt wird. In SQL Server können Sie Nichtschlüsselspalten in den nicht gruppierten Index aufnehmen, um die Beschränkung auf maximal 16 Schlüsselspalten zu vermeiden. Weitere Informationen finden Sie unter Erstellen von Indizes mit eingeschlossenen Spalten.
8SQL Server unterstützt die Zeilenüberlaufspeicherung, sodass Spalten variabler Länge aus der Zeile verschoben werden können. Für Spalten variabler Länge, die aus der Zeile verschoben wurden, wird im Hauptdatensatz nur ein 24-Byte-Stamm gespeichert. Aus diesem Grund ist das tatsächlich gültige Zeilenlimit höher als in früheren Versionen von SQL Server. Weitere Informationen finden Sie unter "Zeilenüberlauf bei Daten über 8 KB" in der SQL Server-Onlinedokumentation.
SQL Server-Hilfsprogrammobjekte
Die folgende Tabelle gibt die maximale Größe und Anzahl verschiedener, im SQL Server-Hilfsprogramm getesteter Objekte an.
SQL Server-Hilfsprogrammobjekt |
Maximale Größe/Anzahl SQL Server (32-Bit) |
Maximale Größe/Anzahl SQL Server (64-Bit) |
---|---|---|
Computer (physische Computer oder virtuelle Computer) pro SQL Server-Hilfsprogramm |
100 |
100 |
SQL Server-Instanzen pro Computer |
5 |
5 |
Gesamtzahl von SQL Server-Instanzen pro SQL Server-Hilfsprogramm |
2001 |
2001 |
Benutzerdatenbanken pro SQL Server-Instanz, einschließlich Datenebenenanwendungen |
50 |
50 |
Gesamtzahl von Benutzerdatenbanken pro SQL Server-Hilfsprogramm |
1,000 |
1,000 |
Dateigruppen pro Datenbank |
1 |
1 |
Datendateien pro Dateigruppe |
1 |
1 |
Protokolldateien pro Datenbank |
1 |
1 |
Volumes pro Computer |
3 |
3 |
1 Die maximale Anzahl verwalteter SQL Server-Instanzen, die vom SQL Server-Hilfsprogramm unterstützt werden, ist von der Hardwarekonfiguration des Servers abhängig. Informationen zu den ersten Schritten finden Sie unter Funktionen und Tasks im SQL Server-Hilfsprogramm. Ein SQL Server-Steuerungspunkt für das Hilfsprogramm ist nicht in jeder Edition von SQL Server 2012 verfügbar. Eine Liste der Funktionen, die von den Editionen von SQL Server unterstützt werden, finden Sie unter Von den SQL Server 2012-Editionen unterstützte Funktionen (https://go.microsoft.com/fwlink/?linkid=232473).
SQL Server-Datenebenenanwendungs-Objekte
In der folgenden Tabelle wird die maximale Größe und Anzahl verschiedener, in SQL Server-Datenebenenanwendungen (DAC) getesteter Objekte angegeben.
SQL Server-DAC-Objekt |
Maximale Größe/Anzahl SQL Server (32-Bit) |
Maximale Größe/Anzahl SQL Server (64 Bit) |
---|---|---|
Datenbanken pro DAC |
1 |
1 |
Objekte pro DAC1 |
Durch die Anzahl der Objekte in einer Datenbank oder durch den verfügbaren Speicher beschränkt. |
Durch die Anzahl der Objekte in einer Datenbank oder durch den verfügbaren Speicher beschränkt. |
1Die maximalen Werte gelten für folgende Objekttypen: Benutzer, Tabellen, Sichten, gespeicherte Prozeduren, benutzerdefinierte Funktionen, Datentypen und Tabellentypen sowie Datenbankrollen und Schemas.
Replikationsobjekte
Die folgende Tabelle gibt die maximale Größe und Anzahl verschiedener in der SQL Server-Replikation definierter Objekte an.
SQL Server-Replikationsobjekt |
Maximale Größe/Anzahl SQL Server (32-Bit) |
Maximale Größe/Anzahl SQL Server (64-Bit) |
---|---|---|
Artikel (Mergeveröffentlichung) |
256 |
256 |
Artikel (Momentaufnahmen- oder Transaktionsveröffentlichung) |
32,767 |
32,767 |
Spalten in einer Tabelle1 (Mergeveröffentlichung) |
246 |
246 |
Spalten in einer Tabelle2 (SQL Server-Momentaufnahmen- oder -Transaktionsveröffentlichung) |
1,000 |
1,000 |
Spalten in einer Tabelle2 (Oracle-Momentaufnahmen- oder -Transaktionsveröffentlichung) |
995 |
995 |
Bytes für eine in einem Zeilenfilter verwendete Spalte (Mergeveröffentlichung) |
1,024 |
1,024 |
Bytes für eine in einem Zeilenfilter verwendete Spalte (Momentaufnahmen- oder Transaktionsveröffentlichung) |
8,000 |
8,000 |
1 Wenn Zeilennachverfolgung zur Konflikterkennung verwendet wird (Standard), kann die Basistabelle maximal 1.024 Spalten enthalten. Die Spalten müssen aber aus dem Artikel herausgefiltert werden, sodass maximal 246 Spalten veröffentlicht werden. Wenn Spaltennachverfolgung verwendet wird, kann die Basistabelle maximal 246 Spalten enthalten.
2 Die Basistabelle kann die maximal zulässige Anzahl von Spalten in der Veröffentlichungsdatenbank (1.024 für SQL Server) enthalten. Die Spalten müssen aber aus dem Artikel herausgefiltert werden, wenn sie das für den Veröffentlichungstyp angegebene Maximum überschreiten.
Siehe auch
Verweis
Hardware- und Softwareanforderungen für die Installation von SQL Server 2012
Überprüfen der Parameter für die Systemkonfigurationsprüfung