Especificaciones de capacidad máxima para SQL ServerMaximum Capacity Specifications for SQL Server

SE APLICA A: síSQL Server noAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

En las siguientes tablas se especifican el tamaño y el número máximo de diversos objetos definidos en los componentes de SQL ServerSQL Server .The following tables specify maximum sizes and numbers of various objects defined in SQL ServerSQL Server components. Para navegar hasta la tabla de una tecnología de SQL ServerSQL Server , haga clic en su vínculo:To navigate to the table for a SQL ServerSQL Server technology, click on its link:

Objetos de motor de base de datos de SQL ServerSQL Server Database Engine Objects

Objetos de Utilidad de SQL ServerSQL Server Utility Objects

Objetos de aplicación de nivel de datos de SQL ServerSQL Server Data-tier Application Objects

Objetos de replicación de SQL ServerSQL Server Replication Objects

Motor de base de datosDatabase Engine ObjetosMotor de base de datosDatabase Engine Objects

Tamaño y número máximo de diversos objetos definidos en las bases de datos SQL ServerSQL Server o a los que se hace referencia en las instrucciones Transact-SQLTransact-SQL .Maximum sizes and numbers of various objects defined in SQL ServerSQL Server databases or referenced in Transact-SQLTransact-SQL statements.

SQL ServerSQL Server Motor de base de datosDatabase Engine objetoMotor de base de datosDatabase Engine object Tamaños o cifras máximas SQL ServerSQL Server (64 bits)Maximum sizes/numbers SQL ServerSQL Server (64-bit) Información adicionalAdditional Information
Tamaño del loteBatch size 65.536 * Tamaño de paquete de red65,536 * Network Packet Size El tamaño del paquete de red es el tamaño de los paquetes de flujo TDS usados para la comunicación entre aplicaciones y el Motor de base de datosDatabase Enginerelacional.Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Motor de base de datosDatabase Engine. El tamaño del paquete predeterminado es 4 KB y se controla mediante la opción de configuración Tamaño de paquete de red.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Bytes por columna de cadenas cortasBytes per short string column 8,0008,000
Bytes por GROUP BY y ORDER BYBytes per GROUP BY, ORDER BY 8,0608,060
Bytes por clave de índiceBytes per index key 900 bytes para un índice agrupado.900 bytes for a clustered index. 1700 para un índice no agrupado.1,700 for a nonclustered index. El número máximo de bytes de una clave de índice agrupado no puede superar los 900 en SQL ServerSQL Server.The maximum number of bytes in a clustered index key cannot exceed 900 in SQL ServerSQL Server. Para una clave de índice no agrupado, el máximo es 1700 bytes.For a nonclustered index key, the maximum is 1700 bytes.

Puede definir una clave usando columnas de longitud variable cuyos tamaños máximos sumen más del límite.You can define a key using variable-length columns whose maximum sizes add up to more than the limit. Pero los tamaños combinados de los datos de dichas columnas no pueden superar el límite.However, the combined sizes of the data in those columns can never exceed the limit.

En un índice no agrupado, puede incluir más columnas sin clave. Estas no contarán para el límite de tamaño de la clave.In a nonclustered index, you can include extra non-key columns, and they do not count against the size limit of the key. Las columnas sin clave pueden ayudar a que algunas consultas den mejores resultados.The non-key columns might help some queries perform better.
Bytes por clave de índice en tablas optimizadas para memoriaBytes per index key for memory-optimized tables 2500 bytes para un índice no agrupado.2500 bytes for a nonclustered index. No hay límite para un índice de hash, siempre y cuando todas claves de índice quepan en la fila.No limit for a hash index, as long as all index keys fit in-row. En una tabla optimizada para memoria, un índice no agrupado no puede tener columnas de clave cuyos tamaños máximos declarados superen los 2500 bytes.On a memory-optimized table, a nonclustered index cannot have key columns whose maximum declared sizes exceed 2500 bytes. No importa si los datos reales de las columnas de clave son más cortos que los tamaños máximos declarados.It is irrelevant whether the actual data in the key columns would be shorter than the maximum declared sizes.

Las clave de índice de hash no tienen límite máximo de tamaño.For a hash index key there is no hard limit on size.

En el caso de los índices de tablas optimizadas para memoria no existe el concepto de columnas incluidas, ya que todos los índices cubren de forma inherente todas las columnas.For indexes on memory-optimized tables, there is no concept of included columns, since all indexes inherently cover of all columns.

En el caso de las tablas optimizadas para memoria, aunque el tamaño de fila sea de 8060 bytes, algunas columnas de longitud variable pueden almacenarse físicamente fuera de esos 8060 bytes.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. Pero los tamaños máximos declarados de todas las columnas de clave para todos los índices de una tabla, más las columnas adicionales de longitud fija de la tabla, deben caber en dichos 8060 bytes.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 por clave externaBytes per foreign key 900900
Bytes por clave principalBytes per primary key 900900
Bytes por filaBytes per row 8,0608,060 SQL ServerSQL Server admite el almacenamiento de desbordamiento de fila, lo que habilita la inserción de columnas de longitud variable de manera no consecutiva.supports row-overflow storage which enables variable length columns to be pushed off-row. Solo se almacena una raíz de 24 bytes en el registro principal para las columnas de longitud variable que se insertan de manera no consecutiva; por ello, el límite real por fila es más alto que en versiones anteriores de SQL ServerSQL Server.Only a 24-byte root is stored in the main record for variable length columns pushed out of row; because of this, the effective row limit is higher than in previous releases of SQL ServerSQL Server. Para obtener más información, consulte Compatibilidad con filas largas.For more information, see Large Row Support.
Bytes por fila en tablas optimizadas para memoriaBytes per row in memory-optimized tables 8,0608,060 A partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x) , las tablas optimizadas para memoria admiten el almacenamiento no consecutivo.Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) memory-optimized tables support off-row storage. Las columnas de longitud variable se insertan de manera no consecutiva si el tamaño máximo de todas las columnas de la tabla supera los 8060 bytes; se trata de una decisión en tiempo de compilación.Variable length columns are pushed off-row if the maximum sizes for all the columns in the table exceeds 8060 bytes; this is a compile-time decision. Solo se almacena una referencia de 8 bytes de forma consecutiva para las columnas almacenadas de forma no consecutiva.Only an 8-byte reference is stored in-row for columns stored off-row. Para obtener más información, vea Tamaño de tabla y fila de las tablas con optimización para memoria.For more information, see Table and Row Size in Memory-Optimized Tables.
Bytes en texto de origen de un procedimiento almacenadoBytes in source text of a stored procedure El menor del tamaño del lote o 250 MBLesser of batch size or 250 MB
Bytes por columna varchar(max) , varbinary(max) , xml, texto imageBytes per varchar(max), varbinary(max), xml, text, or image column 2^31-12^31-1
Caracteres por columna ntext o nvarchar(max)Characters per ntext or nvarchar(max) column 2^30-12^30-1
Índices clúster por tablaClustered indexes per table 11
Columnas en GROUP BY y ORDER BYColumns in GROUP BY, ORDER BY Limitado solo por el número de bytesLimited only by number of bytes
Columnas o expresiones en una instrucción GROUP BY WITH CUBE o WITH ROLLUPColumns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement 1010
Columnas por clave de índiceColumns per index key 3232 Si la tabla contiene uno o varios índices XML, la clave de agrupación en clústeres de la tabla de usuario estará limitada a 31 columnas, ya que la columna XML se agrega a la clave de agrupación en clústeres del índice XML principal.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. En SQL ServerSQL Server, puede incluir columnas sin clave en un índice no agrupado para evitar la limitación de un máximo de 32 columnas de clave.In SQL ServerSQL Server, you can include nonkey columns in a nonclustered index to avoid the limitation of a maximum of 32 key columns. Para más información, consulte Create Indexes with Included Columns.For more information, see Create Indexes with Included Columns.
Columnas por clave externa o clave principalColumns per foreign key or primary key 3232
Columnas por instrucción INSERTColumns per INSERT statement 4,0964,096
Columnas por instrucción SELECTColumns per SELECT statement 4,0964,096
Columnas por tablaColumns per table 1,0241,024 Las tablas que contienen conjuntos de columnas dispersas incluyen hasta 30 000 columnas.Tables that include sparse column sets include up to 30,000 columns. Vea Conjuntos de columnas dispersas.See sparse column sets.
Columnas por instrucción UPDATEColumns per UPDATE statement 4,0964,096 En los conjuntos de columnas dispersas se aplican distintos límites.Different limits apply to sparse column sets.
Columnas por vistaColumns per view 1,0241,024
Conexiones por clienteConnections per client Valor máximo de conexiones configuradasMaximum value of configured connections
Tamaño de la base de datosDatabase size 524 272 terabytes524,272 terabytes
Bases de datos por instancia de SQL ServerSQL ServerDatabases per instance of SQL ServerSQL Server 32,76732,767
Grupos de archivos por base de datosFilegroups per database 32,76732,767
Grupos de archivo por base de datos para datos optimizados para memoria.Filegroups per database for memory-optimized data 11
Archivos por base de datosFiles per database 32,76732,767
Tamaño de archivo (datos)File size (data) 16 terabytes16 terabytes
Tamaño de archivo (registro)File size (log) 2 terabytes2 terabytes
Archivos de datos para datos optimizados para memoria por base de datosData files for memory-optimized data per database 4.096 en SQL Server 2014 (12.x)SQL Server 2014 (12.x).4,096 in SQL Server 2014 (12.x)SQL Server 2014 (12.x). Las versiones posteriores de SQL ServerSQL Server no imponen un límite tan estricto.Later versions of SQL ServerSQL Server do not impose such a strict limit.
Archivo delta por archivo de datos para datos optimizados para memoriaDelta file per data file for memory-optimized data 11
Referencias de tabla de claves externas por tablaForeign key table references per table Saliente = 253.Outgoing = 253. Entrante = 10 000.Incoming = 10,000. Para ver las restricciones, vea Create Foreign Key Relationships.For restrictions, see Create Foreign Key Relationships.
Longitud del identificador (en caracteres)Identifier length (in characters) 128128
Instancias por equipoInstances per computer 50 instancias en un servidor independiente.50 instances on a stand-alone server.

25 instancias en un clúster de conmutación por error cuando se usa un disco de clúster compartido como opción de almacenamiento para la instalación del clúster; SQL ServerSQL Server admite 50 instancias en un clúster de conmutación por error si elige recursos compartidos de archivos SMB como opción de almacenamiento para la instalación del clúster.25 instances on a failover cluster when using a shared cluster disk as the stored option for you cluster installation SQL ServerSQL Server supports 50 instances on a failover cluster if you choose SMB file shares as the storage option for your cluster installation.
Índices por tabla optimizada para memoriaIndexes per memory-optimized table 999 a partir de SQL Server 2017 (14.x)SQL Server 2017 (14.x) y en Base de datos SQL de AzureAzure SQL Database999 starting SQL Server 2017 (14.x)SQL Server 2017 (14.x) and in Base de datos SQL de AzureAzure SQL Database
8 en SQL Server 2014 (12.x)SQL Server 2014 (12.x) y 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)
Longitud de una cadena que contiene instrucciones SQL (tamaño de lote)Length of a string containing SQL statements (batch size) 65.536 * Tamaño de paquete de red65,536 * Network packet size El tamaño del paquete de red es el tamaño de los paquetes de flujo TDS usados para la comunicación entre aplicaciones y el Motor de base de datosDatabase Enginerelacional.Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Motor de base de datosDatabase Engine. El tamaño del paquete predeterminado es 4 KB y se controla mediante la opción de configuración Tamaño de paquete de red.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Bloqueos por conexiónLocks per connection Máximo de bloqueos por servidorMaximum locks per server
Bloqueos por instancia de SQL ServerSQL ServerLocks per instance of SQL ServerSQL Server Limitado solo por la memoriaLimited only by memory Este valor sirve para asignaciones de bloqueo estático.This value is for static lock allocation. Los bloqueos dinámicos están limitados solo por la memoria.Dynamic locks are limited only by memory.
Niveles de procedimientos almacenados anidadosNested stored procedure levels 3232 Si un procedimiento almacenado tiene acceso a más de 64 bases de datos o a más de 2 bases de datos en intercalación, recibirá un error.If a stored procedure accesses more than 64 databases, or more than 2 databases in interleaving, you will receive an error.
Subconsultas anidadasNested subqueries 3232
Niveles de desencadenadores anidadosNested trigger levels 3232
Índices no clúster por tablaNonclustered indexes per table 999999
Número de expresiones distintas en la cláusula GROUP BY cuando existe alguna de las siguientes opciones: 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
El número de conjuntos de agrupamiento generados por los operadores de la cláusula BY GROUPNumber of grouping sets generated by operators in the GROUP BY clause 4,0964,096
Parámetros por procedimiento almacenadoParameters per stored procedure 2,1002,100
Parámetros por función definida por el usuarioParameters per user-defined function 2,1002,100
REFERENCES por tablaREFERENCES per table 253253
Filas por tablaRows per table Limitado por el espacio de almacenamiento disponibleLimited by available storage
Tablas por base de datosTables per database Limitado por el número de objetos de la base de datosLimited by number of objects in a database Los objetos de base de datos incluyen objetos como tablas, vistas, procedimientos almacenados, funciones definidas por el usuario, desencadenadores, reglas, valores predeterminados y restricciones.Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. La suma de todos estos objetos en una base de datos no puede superar 2.147.483.647.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Particiones por tabla o índice con particionesPartitions per partitioned table or index 15,00015,000
Estadísticas en columnas no indizadasStatistics on non-indexed columns 30,00030,000
Tablas por instrucción SELECTTables per SELECT statement Limitado solo por los recursos disponiblesLimited only by available resources
Desencadenadores por tablaTriggers per table Limitado por el número de objetos de la base de datosLimited by number of objects in a database Los objetos de base de datos incluyen objetos como tablas, vistas, procedimientos almacenados, funciones definidas por el usuario, desencadenadores, reglas, valores predeterminados y restricciones.Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. La suma de todos estos objetos en una base de datos no puede superar 2.147.483.647.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Conexiones de usuarioUser connections 32,76732,767
índices XMLXML indexes 249249

SQL ServerSQL Server Objetos de utilidadSQL ServerSQL Server Utility Objects

Tamaño y número máximo de diversos objetos que se probaron en la Utilidad de SQL ServerSQL Server .Maximum sizes and numbers of various objects that were tested in the SQL ServerSQL Server Utility.

SQL ServerSQL Server Objeto de utilidadUtility object Tamaños o cifras máximas SQL ServerSQL Server (64 bits)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Equipos (equipos físicos o máquinas virtuales) por cada utilidad de SQL ServerSQL ServerComputers (physical computers or virtual machines) per SQL ServerSQL Server Utility 100100
Instancias de SQL ServerSQL Server por equipoInstances of SQL ServerSQL Server per computer 55
Número total de instancias de SQL ServerSQL Server por cada utilidad de SQL ServerSQL ServerTotal number of instances of SQL ServerSQL Server per SQL ServerSQL Server Utility 200*200*
Bases de datos de usuario por instancia de SQL ServerSQL Server, incluidas las aplicaciones de capa de datosUser databases per instance of SQL ServerSQL Server, including data-tier applications 5050
Número total de bases de datos de usuario por cada utilidad de SQL ServerSQL ServerTotal number of user databases per SQL ServerSQL Server Utility 1,0001,000
Grupos de archivos por base de datosFile groups per database 11
Archivos de datos por grupo de archivosData files per file group 11
Archivos de registro por base de datosLog files per database 11
Volúmenes por equipoVolumes per computer 33

*El número máximo de instancias administradas de SQL ServerSQL Server admitidas por la Utilidad de SQL ServerSQL Server puede variar según la configuración de hardware del servidor.*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. Para obtener información de introducción, vea Características y tareas de la utilidad de SQL Server.For getting started information, see SQL Server Utility Features and Tasks. SQL ServerSQL Server no está disponible en todas las ediciones de SQL Server 2017SQL Server 2017.Utility control point is not available in every edition of SQL Server 2017SQL Server 2017. Para obtener una lista de las características admitidas por las ediciones de SQL ServerSQL Server, vea Características compatibles con las ediciones de SQL Server 2016.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 Objetos de aplicación de capa de datosSQL ServerSQL Server Data-tier Application Objects

Tamaño y número máximo de diversos objetos que se probaron en las aplicaciones de capa de datos (DAC) de SQL ServerSQL Server .Maximum sizes and numbers of various objects that were tested in the SQL ServerSQL Server data-tier applications (DAC).

SQL ServerSQL Server Objeto DACDAC object Tamaños o cifras máximas SQL ServerSQL Server (64 bits)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Bases de datos por DACDatabases per DAC 11
Objetos por DAC*Objects per DAC* Se limita por el número de objetos de una base de datos o la memoria disponible.Limited by the number of objects in a database, or available memory.

*Los tipos de objetos incluidos en el límite son usuarios, tablas, vistas, procedimientos almacenados, funciones definidas por el usuario, tipos de datos definidos por el usuario, roles de base de datos, esquemas y tipos de tabla definidos por el usuario.*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.

Objetos de replicaciónReplication Objects

Tamaño y número máximo de los diversos objetos definidos en Replicación de SQL ServerSQL Server .Maximum sizes and numbers of various objects defined in SQL ServerSQL Server Replication.

SQL ServerSQL Server Objeto de replicaciónReplication object Tamaño y número máximo SQL Server (64 bits)Maximum sizes/numbers SQL Server (64-bit)
Artículos (publicación de combinación)Articles (merge publication) 20482048
Artículos (publicación de instantáneas o transaccional)Articles (snapshot or transactional publication) 32,76732,767
Columnas de una tabla* (publicación de mezcla)Columns in a table* (merge publication) 246246
Columnas de una tabla**(publicación de instantáneas o transaccional deSQL ServerSQL Server )Columns in a table** (SQL ServerSQL Server snapshot or transactional publication) 1,0001,000
Columnas de una tabla** (publicación de instantáneas o transaccional de Oracle)Columns in a table** (Oracle snapshot or transactional publication) 995995
Bytes para una columna utilizada en un filtro de fila (publicación de combinación)Bytes for a column used in a row filter (merge publication) 1,0241,024
Bytes para una columna utilizada en un filtro de fila (publicación de instantáneas o transaccional)Bytes for a column used in a row filter (snapshot or transactional publication) 8,0008,000

*Si se utiliza el seguimiento por fila en la detección de conflictos (valor predeterminado), la tabla base puede incluir un máximo de 1024 columnas, pero las columnas deben filtrarse desde el artículo de forma que se publique un máximo de 246 columnas.*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. Si se utiliza el seguimiento por columna, la tabla base puede incluir 246 columnas como máximo.If column tracking is used, the base table can include a maximum of 246 columns.

**La tabla base puede incluir el número máximo de columnas permitido en la base de datos de publicación (1024 para SQL ServerSQL Server), pero las columnas deben filtrarse desde el artículo si superan el máximo especificado para el tipo de publicación.**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.

Consulte tambiénSee Also

Requisitos de hardware y software para instalar SQL Server 2016 Hardware and Software Requirements for Installing SQL Server 2016
Comprobar los parámetros del Comprobador de configuración del sistema Check Parameters for the System Configuration Checker
Características y tareas de la utilidad de SQL ServerSQL Server Utility Features and Tasks