Spezifikationen der maximalen Kapazität für SQL ServerMaximum capacity specifications for SQL Server

GILT FÜR: JaSQL Server NeinAzure SQL-Datenbank NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Im folgenden Artikel finden Sie die maximalen Größen und Anzahlen verschiedener in SQL ServerSQL Server-Komponenten definierter Objekte.This article shows maximum sizes and numbers of various objects defined in SQL ServerSQL Server components.

Hinweis

Zusätzlich zu den Informationen in diesem Artikel können Sie sich auch die folgenden Links ansehen:In addition to the information in this article, you might also find the following links helpful:

Datenbank-EngineDatabase Engine-Objekteobjects

Die maximale Größe und Anzahl verschiedener Objekte, die in SQL ServerSQL Server -Datenbanken definiert sind oder auf die in Transact-SQLTransact-SQL -Anweisungen verwiesen wird.Maximum sizes and numbers of various objects defined in SQL ServerSQL Server databases or referenced in Transact-SQLTransact-SQL statements.

SQL ServerSQL Server Datenbank-EngineDatabase Engine-ObjekteDatenbank-EngineDatabase Engine object Maximale Größe/Anzahl – SQL ServerSQL Server (64 Bit)Maximum sizes/numbers SQL ServerSQL Server (64-bit) Zusätzliche InformationenAdditional Information
BatchgrößeBatch size 65.536 * (Netzwerkpaketgröße)65,536 * (Network packet size) Die Netzwerkpaketgröße entspricht der Größe der TDS-Pakete (Tabular Data Stream), die für die Kommunikation zwischen Anwendungen und der relationalen Datenbank-EngineDatabase Engine verwendet werden.Network packet size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Datenbank-EngineDatabase Engine. Die Standardpaketgröße beträgt 4 KB und wird durch die Konfigurationsoption Netzwerkpaketgröße gesteuert.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Bytes pro Spalte mit kurzen ZeichenfolgenBytes per short string column 8.0008,000
Byte pro GROUP BY, ORDER BYBytes per GROUP BY, ORDER BY 8.0608,060
Bytes pro IndexschlüsselBytes per index key 900 Bytes für einen gruppierten Index.900 bytes for a clustered index. 1.700 Bytes für einen nicht gruppierten Index.1,700 for a nonclustered index. Die maximale Anzahl von Bytes in einem Schlüssel für einen gruppierten Index darf in SQL ServerSQL Serverden Wert 900 nicht überschreiten.The maximum number of bytes in a clustered index key cannot exceed 900 in SQL ServerSQL Server. Bei einem Schlüssel für einen nicht gruppierten Index liegt der Höchstwert bei 1700 Byte.For a nonclustered index key, the maximum is 1700 bytes.

Sie können einen Schlüssel mithilfe von Spalten mit variabler Länge definieren, deren maximale Größe in der Summe oberhalb des Grenzwerts liegen.You can define a key using variable-length columns whose maximum sizes add up to more than the limit. Die Gesamtgröße der in diesen Spalten enthaltenen Daten darf den Grenzwert jedoch nie überschreiten.However, the combined sizes of the data in those columns can never exceed the limit.

In einem nicht gruppierten Index können Sie zusätzliche Nichtschlüsselspalten einschließen. Sie zählen nicht bei der Berechnung der maximalen Schlüsselgröße.In a nonclustered index, you can include extra non-key columns, and they do not count against the size limit of the key. Die Nichtschlüsselspalten können die Leistung einer Abfragen verbessern.The non-key columns might help some queries perform better.
Bytes pro Indexschlüssel für speicheroptimierte TabellenBytes per index key for memory-optimized tables 2500 Bytes für einen nicht gruppierten Index.2500 bytes for a nonclustered index. Für einen Hashindex gilt keine Beschränkung, vorausgesetzt dass alle Indexschlüssel in Zeilen passen.No limit for a hash index, as long as all index keys fit in-row. Ein nicht gruppierter Index darf bei speicheroptimierten Tabellen keine Schlüsselspalten enthalten, deren maximale deklarierte Größe 2500 Bytes überschreiten.On a memory-optimized table, a nonclustered index cannot have key columns whose maximum declared sizes exceed 2500 bytes. Dabei ist es unerheblich, ob die tatsächlich in den Spalten vorhandenen Daten kürzer sind als die maximale deklarierte Größe.It is irrelevant whether the actual data in the key columns would be shorter than the maximum declared sizes.

Für einen Hashindexschlüssel gibt es keinen festen Grenzwert für die Größe.For a hash index key, there is no hard limit on size.

Für Indizes von speicheroptimierten Tabellen ist das Konzept der eingeschlossenen Spalten hinfällig, da alle Indizes grundsätzlich alle Spalten abdecken.For indexes on memory-optimized tables, there is no concept of included columns, since all indexes inherently cover of all columns.

Obwohl die Zeilenlänge bei speicheroptimierten Tabellen 8060 Bytes beträgt, können einige Spalten mit variabler Länge physisch außerhalb dieser 8060 Bytes gespeichert werden.For a memory-optimized table, even though the row size is 8060 bytes, some variable-length columns can be physically stored outside those 8060 bytes. Allerdings müssen die maximale deklarierte Größe aller Schlüsselspalten für alle Indizes einer Tabelle sowie alle zusätzlichen Spalten mit fester Länge in der Tabelle in die 8060 Bytes passen.However, the maximum declared sizes of all key columns for all indexes on a table, plus any additional fixed-length columns in the table, must fit in the 8060 bytes.
Bytes pro FremdschlüsselBytes per foreign key 900900
Bytes pro PrimärschlüsselBytes per primary key 900900
Bytes pro ZeileBytes per row 8.0608,060 SQL ServerSQL Server unterstützt die Zeilenüberlaufspeicherung, sodass Spalten variabler Länge aus der Zeile verschoben werden können.supports row-overflow storage, which enables variable length columns to be pushed off-row. Im Hauptdatensatz für Spalten variabler Länge, die aus einer Zeile verschoben wurden, wird nur ein 24-Byte-Stamm gespeichert.Only a 24-byte root is stored in the main record for variable length columns pushed out of row. Dieses Feature ermöglicht eine Begrenzung, die erheblich höher ist als im vorherigen SQL ServerSQL Server-Release.This feature allows limit that is effectively higher than in previous releases of SQL ServerSQL Server. Weitere Informationen finden Sie unter Unterstützung von umfangreichen Zeilen.For more information, see Large Row Support.
Bytes pro Zeile in speicheroptimierten TabellenBytes per row in memory-optimized tables 8.0608,060 Ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) unterstützen speicheroptimierte Tabellen das Speichern außerhalb von Zeilen.Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) memory-optimized tables support off-row storage. Spalten mit variabler Länge werden aus der Zeile verschoben, wenn die maximale Größe aller Spalten in der Tabelle 8060 Byte überschreitet. Diese Entscheidung fällt bei der Kompilierung.Variable length columns are pushed off-row if the maximum sizes for all the columns in the table exceeds 8060 bytes; this action is a compile-time decision. Für Spalten, die außerhalb der Zeile gespeichert wurden, wird in der Zeile nur eine 8-Byte-Referenz gespeichert.Only an 8-byte reference is stored in-row for columns stored off-row. Weitere Informationen finden Sie unter Tabellen- und Zeilengröße in speicheroptimierten Tabellen.For more information, see Table and Row Size in Memory-Optimized Tables.
Bytes im Quelltext einer gespeicherten ProzedurBytes in source text of a stored procedure Kleiner als Batchgröße oder 250 MBLesser of batch size or 250 MB
Bytes pro varchar(max) -, varbinary(max)-, xml-, text- oder image-Spalte.Bytes per varchar(max) , varbinary(max), xml, text, or image column 2^31-12^31-1
Zeichen pro ntext- oder nvarchar(max)-SpalteCharacters per ntext or nvarchar(max) column 2^30-12^30-1
Gruppierte Indizes pro TabelleClustered indexes per table 11
Spalten in GROUP BY, ORDER BYColumns in GROUP BY, ORDER BY Begrenzung nur durch die Anzahl von BytesLimited only by number of bytes
Spalten oder Ausdrücke in einer GROUP BY WITH CUBE- oder WITH ROLLUP-AnweisungColumns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement 1010
Spalten pro IndexschlüsselColumns per index key 3232 Wenn die Tabelle einen oder mehrere XML-Indizes enthält, ist der Gruppierungsschlüssel der Benutzertabelle auf 31 Spalten beschränkt, da die XML-Spalte dem Gruppierungsschlüssel des primären XML-Index hinzugefügt wird.If the table contains one or more XML indexes, the clustering key of the user table is limited to 31 columns because the XML column is added to the clustering key of the primary XML index. In SQL ServerSQL Server können Sie Nichtschlüsselspalten in den nicht gruppierten Index aufnehmen, um die Beschränkung auf maximal 32 Schlüsselspalten zu vermeiden.In SQL ServerSQL Server, you can include non-key columns in a nonclustered index to avoid the limitation of a maximum of 32 key columns. Weitere Informationen finden Sie unter Create Indexes with Included Columns.For more information, see Create Indexes with Included Columns.
Spalten pro Fremdschlüssel oder PrimärschlüsselColumns per foreign key or primary key 3232
Spalten pro INSERT-AnweisungColumns per INSERT statement 4.0964,096
Spalten pro SELECT-AnweisungColumns per SELECT statement 4.0964,096
Spaltenanzahl pro TabelleColumns per table 1.0241,024 Tabellen, die Sparsespaltensätze enthalten, umfassen bis zu 30.000 Spalten.Tables that include sparse column sets include up to 30,000 columns. Siehe Sparsespaltensätze.See sparse column sets.
Spalten pro UPDATE-AnweisungColumns per UPDATE statement 4.0964,096 Es gelten verschiedene Grenzwerte für Sparsespaltensätze.Different limits apply to sparse column sets.
Spalten pro SichtColumns per view 1.0241,024
Verbindungen pro ClientConnections per client Höchstwert konfigurierter VerbindungenMaximum value of configured connections
DatenbankgrößeDatabase size 524.272 Terabytes524,272 terabytes
Datenbanken pro Instanz von SQL ServerSQL ServerDatabases per instance of SQL ServerSQL Server 32.76732,767
Dateigruppen pro DatenbankFilegroups per database 32.76732,767
Dateigruppen pro Datenbank für speicheroptimierte DatenFilegroups per database for memory-optimized data 11
Dateien pro DatenbankFiles per database 32.76732,767
Dateigröße (Daten)File size (data) 16 Terabytes16 terabytes
Dateigröße (Protokoll)File size (log) 2 Terabytes2 terabytes
Datendateien für speicheroptimierte Daten pro DatenbankData files for memory-optimized data per database 4.096 in SQL Server 2014 (12.x)SQL Server 2014 (12.x).4,096 in SQL Server 2014 (12.x)SQL Server 2014 (12.x). Bei späteren Versionen von SQL ServerSQL Server sind die Grenzwerte flexibler.Later versions of SQL ServerSQL Server do not impose such a strict limit.
Änderungsdatei pro Datendatei für speicheroptimierte DatenDelta file per data file for memory-optimized data 11
Verweise auf Fremdschlüsseltabellen pro TabelleForeign key table references per table Ausgehend = 253.Outgoing = 253. Eingehend = 10.000.Incoming = 10,000. Einschränkungen finden Sie unter Create Foreign Key Relationships.For restrictions, see Create Foreign Key Relationships.
Bezeichnerlänge (in Zeichen)Identifier length (in characters) 128128
Instanzen pro ComputerInstances per computer 50 Instanzen auf einem eigenständigen Server.50 instances on a stand-alone server.

25 Failoverclusterinstanzen bei der Verwendung eines freigegebenen Clusterdatenträgers als Speicher.25 failover cluster instances when using a shared cluster disks as storage.

50 Failoverclusterinstanzen mit SMB-Dateifreigaben als Speicheroption.50 failover cluster instances with SMB file shares as the storage option.
Indizes pro speicheroptimierter TabelleIndexes per memory-optimized table 999 ab SQL Server 2017 (14.x)SQL Server 2017 (14.x) und in Azure SQL-DatenbankAzure SQL Database999 starting SQL Server 2017 (14.x)SQL Server 2017 (14.x) and in Azure SQL-DatenbankAzure SQL Database
8 in SQL Server 2014 (12.x)SQL Server 2014 (12.x) und SQL Server 2016 (13.x)SQL Server 2016 (13.x)8 in SQL Server 2014 (12.x)SQL Server 2014 (12.x) and SQL Server 2016 (13.x)SQL Server 2016 (13.x)
Länge einer Zeichenfolge, die SQL-Anweisungen enthält (Batchgröße)Length of a string containing SQL statements (batch size) 65.536 (Netzwerkpaketgröße)65,536 (Network packet size) Die Netzwerkpaketgröße entspricht der Größe der TDS-Pakete (Tabular Data Stream), die für die Kommunikation zwischen Anwendungen und der relationalen Datenbank-EngineDatabase Engine verwendet werden.Network packet size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Datenbank-EngineDatabase Engine. Die Standardpaketgröße beträgt 4 KB und wird durch die Konfigurationsoption Netzwerkpaketgröße gesteuert.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Sperren pro VerbindungLocks per connection Maximale Anzahl Sperren pro ServerMaximum locks per server
Sperren pro Instanz von SQL ServerSQL ServerLocks per instance of SQL ServerSQL Server Begrenzung nur durch ArbeitsspeicherLimited only by memory Dieser Wert dient der statischen Sperrenzuordnung.This value is for static lock allocation. Dynamische Sperren sind nur durch den Arbeitsspeicher beschränkt.Dynamic locks are limited only by memory.
Schachtelungsebenen gespeicherter ProzedurenNested stored procedure levels 3232 Wenn eine gespeicherte Prozedur auf mehr als 64 Datenbanken zugreift oder sich mehr als zwei Datenbanken überlappen, wird eine Fehlermeldung angezeigt.If a stored procedure accesses more than 64 databases, or more than two databases in interleaving, you will receive an error.
Geschachtelte UnterabfragenNested subqueries 3232
Geschachtelte TransaktionenNested transactions 4.294.967.2964,294,967,296
Schachtelungsebenen für TriggerNested trigger levels 3232
Nicht gruppierte Indizes pro TabelleNonclustered indexes per table 999999
Anzahl unterschiedlicher Ausdrücke in der GROUP BY-Klausel bei Vorhandensein eines der folgenden Ausdrücke: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUPNumber of distinct expressions in the GROUP BY clause when any of the following are present: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP 3232
Anzahl der Gruppierungssätze, die von Operatoren in der GROUP BY-Klausel generiert wurdenNumber of grouping sets generated by operators in the GROUP BY clause 4.0964,096
Parameter pro gespeicherter ProzedurParameters per stored procedure 2.1002,100
Parameter pro benutzerdefinierter FunktionParameters per user-defined function 2.1002,100
REFERENCES pro TabelleREFERENCES per table 253253
Zeilen pro TabelleRows per table Begrenzung durch verfügbaren SpeicherplatzLimited by available storage
Tabellen pro DatenbankTables per database Begrenzung durch die Gesamtzahl der Objekte in einer DatenbankLimited by total number of objects in a database Zu den Objekten zählen Tabellen, Sichten, gespeicherte Prozeduren, benutzerdefinierte Funktionen, Trigger, Regeln, Standardwerte und Einschränkungen.Objects include tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. Die Summe aller Objekte in einer Datenbank kann 2.147.483.647 nicht übersteigen.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Partitionen pro partitionierter Tabelle oder partitioniertem IndexPartitions per partitioned table or index 15.00015,000
Statistiken für nicht indizierte SpaltenStatistics on non-indexed columns 30.00030,000
Tabellen pro SELECT-AnweisungTables per SELECT statement Begrenzung nur durch verfügbare RessourcenLimited only by available resources
Trigger pro TabelleTriggers per table Begrenzung durch die Anzahl der Objekte in einer DatenbankLimited by number of objects in a database Zu den Objekten zählen Tabellen, Sichten, gespeicherte Prozeduren, benutzerdefinierte Funktionen, Trigger, Regeln, Standardwerte und Einschränkungen.Objects include tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. Die Summe aller Objekte in einer Datenbank kann 2.147.483.647 nicht übersteigen.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
BenutzerverbindungenUser connections 32.76732,767
XML-IndizesXML indexes 249249

SQL ServerSQL Server-HilfsprogrammobjekteUtility objects

Die maximale Größe und Anzahl verschiedener, im SQL ServerSQL Server -Hilfsprogramm getesteter Objekte.Maximum sizes and numbers of various objects that were tested in the SQL ServerSQL Server Utility.

SQL ServerSQL Server HilfsprogrammobjektUtility object Maximale Größe/Anzahl – SQL ServerSQL Server (64 Bit)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Computer (physische Computer oder virtuelle Computer) pro SQL ServerSQL Server -HilfsprogrammComputers (physical computers or virtual machines) per SQL ServerSQL Server Utility 100100
SQL ServerSQL Server -Instanzen pro ComputerInstances of SQL ServerSQL Server per computer 55
Gesamtzahl von SQL ServerSQL Server -Instanzen pro SQL ServerSQL Server -HilfsprogrammTotal number of instances of SQL ServerSQL Server per SQL ServerSQL Server Utility 200*200*
Benutzerdatenbanken pro SQL ServerSQL Server-Instanz, einschließlich DatenebenenanwendungenUser databases per instance of SQL ServerSQL Server, including data-tier applications 5050
Gesamtzahl von Benutzerdatenbanken pro SQL ServerSQL Server -HilfsprogrammTotal number of user databases per SQL ServerSQL Server Utility 1.0001,000
Dateigruppen pro DatenbankFile groups per database 11
Datendateien pro DateigruppeData files per file group 11
Protokolldateien pro DatenbankLog files per database 11
Volumes pro ComputerVolumes per computer 33

* Die maximale Anzahl verwalteter SQL ServerSQL Server-Instanzen, die vom SQL ServerSQL Server-Hilfsprogramm unterstützt werden, ist von der Hardwarekonfiguration des Servers abhängig.* The maximum number of managed instances of SQL ServerSQL Server supported by SQL ServerSQL Server Utility may vary based on the hardware configuration of the server. Informationen zu ersten Schritten finden Sie unter Funktionen und Tasks im SQL Server-Hilfsprogramm.For getting started information, see SQL Server Utility Features and Tasks. SQL ServerSQL Server Ein Steuerungspunkt für das Hilfsprogramm ist nicht in jeder Edition von SQL Server 2019 (15.x)SQL Server 2019 (15.x)verfügbar.Utility control point is not available in every edition of SQL Server 2019 (15.x)SQL Server 2019 (15.x). Eine Liste der Funktionen, die von den SQL ServerSQL Server-Editionen unterstützt werden, finden Sie unter Von den SQL Server 2016-Editionen unterstützte Funktionen.For a list of features that are supported by the editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

SQL ServerSQL Server-DatenschichtanwendungsobjekteData-tier application objects

Die maximale Größe und Anzahl verschiedener in SQL ServerSQL Server -Datenebenenanwendungen (DAC) getesteter Objekte.Maximum sizes and numbers of various objects that were tested in the SQL ServerSQL Server data-tier applications (DAC).

SQL ServerSQL Server DAC-ObjektDAC object Maximale Größe/Anzahl – SQL ServerSQL Server (64 Bit)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Datenbanken pro DACDatabases per DAC 11
Objekte pro DAC *Objects per DAC * Durch die Anzahl der Objekte in einer Datenbank oder durch den verfügbaren Speicher beschränkt.Limited by the number of objects in a database, or available memory.

* Die maximalen Werte gelten für folgende Objekttypen: Benutzer, Tabellen, Sichten, gespeicherte Prozeduren, benutzerdefinierte Funktionen, Datentypen und Tabellentypen sowie Datenbankrollen und Schemas.* The types of objects included in the limit are users, tables, views, stored procedures, user-defined functions, user-defined data type, database roles, schemas, and user-defined table types.

ReplikationsobjekteReplication objects

Die maximale Größe und Anzahl verschiedener in der SQL ServerSQL Server -Replikation definierter Objekte.Maximum sizes and numbers of various objects defined in SQL ServerSQL Server Replication.

SQL ServerSQL Server ReplikationsobjektReplication object Maximale Größe/Anzahl SQL Server (64-Bit)Maximum sizes/numbers SQL Server (64-bit)
Artikel (Mergeveröffentlichung)Articles (merge publication) 20482048
Artikel (Momentaufnahmen- oder Transaktionsveröffentlichung)Articles (snapshot or transactional publication) 32.76732,767
Spalten in einer Tabelle* (Mergeveröffentlichung)Columns in a table* (merge publication) 246246
Spalten in einer Tabelle** (SQL ServerSQL Server-Momentaufnahmen- oder -Transaktionsveröffentlichung)Columns in a table** (SQL ServerSQL Server snapshot or transactional publication) 1.0001,000
Spalten in einer Tabelle** (Oracle-Momentaufnahmen- oder -Transaktionsveröffentlichung)Columns in a table** (Oracle snapshot or transactional publication) 995995
Bytes für eine in einem Zeilenfilter verwendete Spalte (Mergeveröffentlichung)Bytes for a column used in a row filter (merge publication) 1.0241,024
Bytes für eine in einem Zeilenfilter verwendete Spalte (Momentaufnahmen- oder Transaktionsveröffentlichung)Bytes for a column used in a row filter (snapshot or transactional publication) 8.0008,000

*Falls die Zeilennachverfolgung zur Konflikterkennung verwendet wird (Standardeinstellung), kann die Basistabelle maximal 1.024 Spalten enthalten. Die Spalten müssen jedoch aus dem Artikel herausgefiltert werden, sodass maximal 246 Spalten veröffentlicht werden.*If row tracking is used for conflict detection (the default), the base table can include a maximum of 1,024 columns, but columns must be filtered from the article so that a maximum of 246 columns is published. Wenn Spaltennachverfolgung verwendet wird, kann die Basistabelle maximal 246 Spalten enthalten.If column tracking is used, the base table can include a maximum of 246 columns.

**Die Basistabelle kann die maximal zulässige Anzahl von Spalten in der Veröffentlichungsdatenbank (1.024 für SQL ServerSQL Server) enthalten. Die Spalten müssen aber aus dem Artikel herausgefiltert werden, wenn sie das für den Veröffentlichungstyp angegebene Maximum überschreiten.**The base table can include the maximum number of columns allowable in the publication database (1,024 for SQL ServerSQL Server), but columns must be filtered from the article if they exceed the maximum specified for the publication type.

Weitere InformationenSee also

Funktionen und Tasks im SQL Server-HilfsprogrammSQL Server utility features and tasks