Especificaciones de capacidad máxima para SQL Server
En las siguientes tablas se especifican el tamaño y cantidad máximos de diversos objetos definidos en los componentes de SQL Server.
Objetos del motor de base de datos
En la siguiente tabla se especifican el tamaño y cantidad máxima de diversos objetos definidos en las bases de datos de SQL Server o a los que se hace referencia en las instrucciones Transact-SQL.
Objeto de Motor de base de datos de SQL Server |
Tamaño y cantidad máxima de SQL Server (32 bits) |
Tamaño y cantidad máxima de SQL Server (64 bits) |
---|---|---|
Tamaño de lote1 |
65.536 * Tamaño de paquete de red |
65.536 * Tamaño de paquete de red |
Bytes por columna de cadenas cortas |
8.000 |
8.000 |
Bytes por GROUP BY y ORDER BY |
8.060 |
8.060 |
Bytes por clave de índice2 |
900 |
900 |
Bytes por clave externa |
900 |
900 |
Bytes por clave principal |
900 |
900 |
Bytes por fila8 |
8.060 |
8.060 |
Bytes en texto de origen de un procedimiento almacenado |
El menor del tamaño del lote o 250 MB |
El menor del tamaño del lote o 250 MB |
Bytes por columna varchar(max), varbinary(max), xml, text o image |
2^31-1 |
2^31-1 |
Caracteres por columna ntext o nvarchar(max) |
2^30-1 |
2^30-1 |
Índices clúster por tabla |
1 |
1 |
Columnas en GROUP BY y ORDER BY |
Limitado solo por el número de bytes |
Limitado solo por el número de bytes |
Columnas o expresiones en una instrucción GROUP BY WITH CUBE o WITH ROLLUP |
10 |
10 |
Columnas por clave de índice7 |
16 |
16 |
Columnas por clave externa |
16 |
16 |
Columnas por clave principal |
16 |
16 |
Columnas por tabla no ancha |
1.024 |
1.024 |
Columnas por tabla ancha |
30.000 |
30.000 |
Columnas por instrucción SELECT |
4.096 |
4.096 |
Columnas por instrucción INSERT |
4096 |
4096 |
Conexiones por cliente |
Valor máximo de conexiones configuradas |
Valor máximo de conexiones configuradas |
Tamaño de la base de datos |
524.272 terabytes |
524.272 terabytes |
Bases de datos por instancia de SQL Server |
32.767 |
32.767 |
Grupos de archivos por base de datos |
32.767 |
32.767 |
Archivos por base de datos |
32.767 |
32.767 |
Tamaño de archivo (datos) |
16 terabytes |
16 terabytes |
Tamaño de archivo (registro) |
2 terabytes |
2 terabytes |
Referencias de tabla de claves externas por tabla4 |
253 |
253 |
Longitud del identificador (en caracteres) |
128 |
128 |
Instancias por equipo |
50 instancias en un servidor independiente para todas las ediciones de SQL Server a excepción de Workgroup. Workgroup admite un máximo de 16 instancias por equipo. SQL Server admite 25 instancias en un clúster de conmutación por error. |
50 instancias en un servidor independiente. 25 instancias en un clúster de conmutación por error. |
Longitud de una cadena que contiene instrucciones SQL (tamaño de lote)1 |
65.536 * Tamaño de paquete de red |
65.536 * Tamaño de paquete de red |
Bloqueos por conexión |
Máximo de bloqueos por servidor |
Máximo de bloqueos por servidor |
Bloqueos por instancia de SQL Server5 |
Hasta 2.147.483.647 |
Limitado solo por la memoria |
Niveles de procedimientos almacenados anidados6 |
32 |
32 |
Subconsultas anidadas |
32 |
32 |
Niveles de desencadenadores anidados |
32 |
32 |
Índices no agrupados por tabla |
999 |
999 |
El número de expresiones distintas en la cláusula BY GROUP cuando cualquiera de los elementos siguientes está presente: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP |
32 |
32 |
El número de conjuntos de agrupamiento generados por los operadores de la cláusula BY GROUP |
4.096 |
4.096 |
Parámetros por procedimiento almacenado |
2.100 |
2.100 |
Parámetros por función definida por el usuario |
2.100 |
2.100 |
REFERENCES por tabla |
253 |
253 |
Filas por tabla |
Limitado por el espacio de almacenamiento disponible |
Limitado por el espacio de almacenamiento disponible |
Tablas por base de datos3 |
Limitado por el número de objetos de la base de datos |
Limitado por el número de objetos de la base de datos |
Particiones por tabla o índice con particiones |
1.000 |
1.000 |
Estadísticas en columnas no indizadas |
30.000 |
30.000 |
Tablas por instrucción SELECT |
Limitado solo por los recursos disponibles |
Limitado solo por los recursos disponibles |
Desencadenadores por tabla3 |
Limitado por el número de objetos de la base de datos |
Limitado por el número de objetos de la base de datos |
Columnas por instrucción UPDATE (tablas anchas) |
4096 |
4096 |
Conexiones de usuario |
32.767 |
32.767 |
Índices XML |
249 |
249 |
1 El tamaño del paquete de red es el tamaño de los paquetes de secuencia de datos tabular (TDS) utilizados para comunicarse entre las aplicaciones y el Database Engine (Motor de base de datos) relacional. 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.
2 El número máximo de bytes de una clave de índice no puede superar los 900 en SQL Server. Puede definir una clave utilizando columnas de longitud variable cuyos tamaños máximos sumen hasta más de 900, siempre que ninguna fila se haya insertado con más de 900 bytes de datos en dichas columnas. En SQL Server, puede incluir columnas sin clave en un índice no clúster para evitar el tamaño máximo de clave de índice de 900 bytes.
3 Los objetos de base de datos incluyen objetos como tablas, vistas, procedimientos almacenados, funciones definidas por el usuario, desencadenadores, reglas, valores predeterminados y restricciones. La suma de todos estos objetos en una base de datos no puede superar 2.147.483.647.
4Aunque una tabla puede contener un número ilimitado de restricciones FOREIGN KEY, el máximo recomendado es 253. Según la configuración de hardware que hospeda a SQL Server, la especificación de restricciones FOREIGN KEY adicionales puede ser un proceso difícil para el optimizador de consultas.
5 Este valor sirve para asignaciones de bloqueo estático. Los bloqueos dinámicos están limitados solo por la memoria.
6 Si un procedimiento almacenado tiene acceso a más de 8 bases de datos o a más de 2 bases de datos en intercalación, recibirá un mensaje de error.
7 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 15 columnas, ya que la columna XML se agrega a la clave de agrupación del índice XML principal. En SQL Server, puede incluir columnas sin clave en un índice no clúster para evitar la limitación de un máximo de 16 columnas de clave. Para obtener más información, vea Índice con columnas incluidas.
8SQL Server admite el almacenamiento de desbordamiento de fila, lo que habilita la inserción de columnas de longitud variable de manera no consecutiva. 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 Server. Para obtener más información, vea el tema "Datos de desbordamiento de fila superiores a 8 KB" en los Libros en pantalla de SQL Server.
Objetos de replicación
En la siguiente tabla se especifican el tamaño y la cantidad máxima de diversos objetos definidos en la replicación de SQL Server.
Objeto de replicación de SQL Server |
Tamaño y cantidad máxima de SQL Server (32 bits) |
Tamaño y cantidad máxima de SQL Server (64 bits) |
---|---|---|
Artículos (publicación de mezcla) |
256 |
256 |
Artículos (publicación de instantáneas o transaccional) |
32.767 |
32.767 |
Columnas de una tabla1 (publicación de mezcla) |
246 |
246 |
Columnas de una tabla2 (publicación de instantáneas o transaccional de SQL Server) |
1.000 |
1.000 |
Columnas de una tabla2 (publicación de instantáneas o transaccional de Oracle) |
995 |
995 |
Bytes para una columna utilizada en un filtro de fila (publicación de mezcla) |
1.024 |
1.024 |
Bytes para una columna utilizada en un filtro de fila (publicación de instantáneas o transaccional) |
8.000 |
8.000 |
1 Si se utiliza el seguimiento por filas para la detección de conflictos (la opción predeterminada), la tabla base puede incluir un máximo de 1.024 columnas, pero éstas deben filtrarse del artículo para que se publique un máximo de 246 columnas. Si se utiliza el seguimiento por columnas, la tabla base puede incluir un máximo de 246 columnas. Para obtener más información sobre el nivel de seguimiento, vea la sección sobre el nivel de seguimiento del tema Cómo la replicación de mezcla detecta y resuelve conflictos.
2 La tabla base puede incluir el máximo de columnas permitidas en la base de datos de publicación (1.024 para SQL Server), pero deben filtrarse del artículo si superan el máximo especificado para el tipo de publicación.