Especificações de capacidade máxima do SQL ServerMaximum Capacity Specifications for SQL Server

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

As tabelas a seguir especificam os tamanhos e números máximos de vários objetos definidos nos componentes do SQL ServerSQL Server .The following tables specify maximum sizes and numbers of various objects defined in SQL ServerSQL Server components. Para navegar até a tabela de uma tecnologia do SQL ServerSQL Server , clique no respectivo link:To navigate to the table for a SQL ServerSQL Server technology, click on its link:

Objetos do Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine Objects

Objetos do Utilitário do SQL ServerSQL Server Utility Objects

Objetos de aplicativo da camada de dados do SQL ServerSQL Server Data-tier Application Objects

Objetos de Replicação do SQL ServerSQL Server Replication Objects

Mecanismo de Banco de DadosDatabase Engine ObjetosMecanismo de Banco de DadosDatabase Engine Objects

Tamanhos e números máximos de vários objetos definidos nos bancos de dados do SQL ServerSQL Server ou referenciados em instruções 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 Mecanismo de Banco de DadosDatabase Engine objetoMecanismo de Banco de DadosDatabase Engine object Tamanho máximo/números SQL ServerSQL Server (64 bits)Maximum sizes/numbers SQL ServerSQL Server (64-bit) Informações adicionaisAdditional Information
Tamanho do loteBatch size 65.536 * Tamanho do pacote de rede65,536 * Network Packet Size Tamanho do pacote de rede é o tamanho dos pacotes do protocolo TDS usados para comunicação entre aplicativos e o Mecanismo de Banco de DadosDatabase Enginerelacional.Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Mecanismo de Banco de DadosDatabase Engine. O tamanho de pacote padrão é 4 KB e é controlado pela opção de configuração tamanho do pacote de rede.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Bytes por coluna de cadeia de caracteres curtaBytes per short string column 8,0008,000
Bytes por GROUP BY, ORDER BYBytes per GROUP BY, ORDER BY 8,0608,060
Bytes por chave de índiceBytes per index key 900 bytes para um índice clusterizado.900 bytes for a clustered index. 1.700 para um índice não clusterizado.1,700 for a nonclustered index. O número máximo de bytes em qualquer chave de índice clusterizado não pode exceder 900 no SQL ServerSQL Server.The maximum number of bytes in a clustered index key cannot exceed 900 in SQL ServerSQL Server. Para uma chave de índice não clusterizado, o máximo é 1.700 bytes.For a nonclustered index key, the maximum is 1700 bytes.

Você pode definir uma chave usando colunas de comprimento variável cujos tamanhos máximos se acumulam até mais do que o limite.You can define a key using variable-length columns whose maximum sizes add up to more than the limit. No entanto, os tamanhos combinados dos dados nessas colunas nunca pode exceder o limite.However, the combined sizes of the data in those columns can never exceed the limit.

Em um índice não clusterizado, você pode incluir colunas adicionais não chave e não contam em relação ao limite de tamanho da chave.In a nonclustered index, you can include extra non-key columns, and they do not count against the size limit of the key. As colunas não chave podem ajudar algumas consultas a ter um melhor desempenho.The non-key columns might help some queries perform better.
Bytes por chave de índice para tabelas com otimização de memóriaBytes per index key for memory-optimized tables 2.500 bytes para um índice não clusterizado.2500 bytes for a nonclustered index. Nenhum limite para um índice de hash, desde que todas as chaves de índice caibam em linha.No limit for a hash index, as long as all index keys fit in-row. Em uma tabela com otimização de memória, um índice não clusterizado não pode ter colunas de chave cujos tamanhos máximos de declarados excedem 2.500 bytes.On a memory-optimized table, a nonclustered index cannot have key columns whose maximum declared sizes exceed 2500 bytes. É irrelevante se os dados reais nas colunas de chave são menores que os tamanhos máximos declarados.It is irrelevant whether the actual data in the key columns would be shorter than the maximum declared sizes.

Para uma chave de índice de hash, não há um limite fixo no tamanho.For a hash index key there is no hard limit on size.

Para índices em tabelas com otimização de memória, não há nenhum conceito de colunas incluídas, pois inerentemente todos os índices abrangem todas as colunas.For indexes on memory-optimized tables, there is no concept of included columns, since all indexes inherently cover of all columns.

Para uma tabela com otimização de memória, mesmo que o tamanho da linha seja 8.060 bytes, algumas colunas de comprimento variável podem ser fisicamente armazenadas fora desses 8.060 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. No entanto, os tamanhos máximos declarados de todas as colunas de chave para todos os índices em uma tabela, além de quaisquer colunas de comprimento fixo adicionais, devem caber nos 8.060 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 chave estrangeiraBytes per foreign key 900900
Bytes por chave primáriaBytes per primary key 900900
Bytes por linhaBytes per row 8,0608,060 SQL ServerSQL Server dá suporte ao armazenamento de estouro de linha, o que permite que colunas de comprimento variável sejam enviadas por push para fora da linha.supports row-overflow storage which enables variable length columns to be pushed off-row. Somente uma raiz de 24 bytes é armazenada no registro principal para colunas de comprimento variável empurradas para fora da linha; por isso, o limite efetivo de linha é maior que nas versões anteriores do 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 saber mais, confira Large Row Support (Suporte de linha grande).For more information, see Large Row Support.
Bytes por linha em tabelas com otimização de memóriaBytes per row in memory-optimized tables 8,0608,060 Começando no SQL Server 2016 (13.x)SQL Server 2016 (13.x) , as tabelas com otimização de memória dão suporte ao armazenamento fora da linha.Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) memory-optimized tables support off-row storage. Colunas de comprimento variável são enviadas por push para fora da linha se os tamanhos máximos de todas as colunas na tabela excederem 8.060 bytes. Esta é uma decisão de tempo de compilação.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. Apenas uma referência de 8 bytes é armazenada na linha para colunas armazenadas fora de linha.Only an 8-byte reference is stored in-row for columns stored off-row. Para obter mais informações, consulte Tamanho da tabela e da linha em tabelas com otimização de memória.For more information, see Table and Row Size in Memory-Optimized Tables.
Bytes em texto de fonte de um procedimento armazenadoBytes in source text of a stored procedure Menor que o tamanho do lote ou 250 MBLesser of batch size or 250 MB
Bytes por coluna varchar(max) , varbinary(max) , xml, textou imageBytes per varchar(max), varbinary(max), xml, text, or image column 2^31-12^31-1
Caracteres por coluna ntext ou nvarchar(max)Characters per ntext or nvarchar(max) column 2^30-12^30-1
Índices clusterizados por tabelaClustered indexes per table 11
Colunas em GROUP BY, ORDER BYColumns in GROUP BY, ORDER BY Limitado somente pelo número de bytesLimited only by number of bytes
Colunas ou expressões em uma instrução GROUP BY WITH CUBE ou WITH ROLLUPColumns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement 1010
Colunas por chave de índiceColumns per index key 3232 Se a tabela contiver um ou mais índices XML, a chave de clustering da tabela do usuário será limitada a 31 colunas porque a coluna XML é adicionada à chave de clustering do índice XML primário.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. No SQL ServerSQL Server, você pode incluir colunas não chave em um índice não clusterizado para evitar a limitação de um máximo de 32 colunas de chave.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 obter mais informações, consulte Create Indexes with Included Columns.For more information, see Create Indexes with Included Columns.
Colunas por chave estrangeira ou chave primáriaColumns per foreign key or primary key 3232
Colunas por instrução INSERTColumns per INSERT statement 4,0964,096
Colunas por instrução SELECTColumns per SELECT statement 4,0964,096
Colunas por tabelaColumns per table 1,0241,024 As tabelas que incluem conjuntos de colunas esparsas incluem até 30.000 colunas.Tables that include sparse column sets include up to 30,000 columns. Confira Conjuntos de colunas esparsas.See sparse column sets.
Colunas por instrução UPDATEColumns per UPDATE statement 4,0964,096 Diferentes limites se aplicam aos conjuntos de colunas esparsas.Different limits apply to sparse column sets.
Colunas por exibiçãoColumns per view 1,0241,024
Conexões por clienteConnections per client Valor máximo de conexões configuradasMaximum value of configured connections
Tamanho do banco de dadosDatabase size 524.272 terabytes524,272 terabytes
Bancos de dados por instância do SQL ServerSQL ServerDatabases per instance of SQL ServerSQL Server 32,76732,767
Grupos de arquivos por banco de dadosFilegroups per database 32,76732,767
Grupos de arquivo por banco de dados para dados com otimização de memória.Filegroups per database for memory-optimized data 11
Arquivos por banco de dadosFiles per database 32,76732,767
Tamanho de arquivo (dados)File size (data) 16 terabytes16 terabytes
Tamanho de arquivo (log)File size (log) 2 terabytes2 terabytes
Arquivos de dados para dados com otimização de memória por banco de dadosData files for memory-optimized data per database 4.096 no SQL Server 2014 (12.x)SQL Server 2014 (12.x).4,096 in SQL Server 2014 (12.x)SQL Server 2014 (12.x). As versões posteriores do SQL ServerSQL Server não impõem um limite estrito como esse.Later versions of SQL ServerSQL Server do not impose such a strict limit.
Arquivo delta por arquivo de dados para dados com otimização de memóriaDelta file per data file for memory-optimized data 11
Referências de tabela de chave estrangeira por tabelaForeign key table references per table Saída = 253.Outgoing = 253. Entrada= 10.000.Incoming = 10,000. Para restrições, consulte Create Foreign Key Relationships.For restrictions, see Create Foreign Key Relationships.
Comprimento de identificador (em caracteres)Identifier length (in characters) 128128
Instâncias por computadorInstances per computer 50 instâncias em um servidor autônomo.50 instances on a stand-alone server.

25 instâncias em um cluster de failover ao usar um disco de cluster compartilhado como a opção de armazenamento para sua instalação de cluster. O SQL ServerSQL Server dará suporte a 50 instâncias de um cluster de failover se você escolher compartilhamentos de arquivos SMB como a opção de armazenamento para seu cluster de failover.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 tabela com otimização de memóriaIndexes per memory-optimized table 999 a partir do SQL Server 2017 (14.x)SQL Server 2017 (14.x) e no Banco de Dados SQL do AzureAzure SQL Database999 starting SQL Server 2017 (14.x)SQL Server 2017 (14.x) and in Banco de Dados SQL do AzureAzure SQL Database
8 no SQL Server 2014 (12.x)SQL Server 2014 (12.x) e 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)
Comprimento de uma cadeia de caracteres que contém instruções SQL (tamanho do lote)Length of a string containing SQL statements (batch size) 65.536 * Tamanho do pacote de rede65,536 * Network packet size Tamanho do pacote de rede é o tamanho dos pacotes do protocolo TDS usados para comunicação entre aplicativos e o Mecanismo de Banco de DadosDatabase Enginerelacional.Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Mecanismo de Banco de DadosDatabase Engine. O tamanho de pacote padrão é 4 KB e é controlado pela opção de configuração tamanho do pacote de rede.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Bloqueios por conexãoLocks per connection Máximo de bloqueios por servidorMaximum locks per server
Bloqueios por instância do SQL ServerSQL ServerLocks per instance of SQL ServerSQL Server Limitado somente por memóriaLimited only by memory Esse valor é para alocação de bloqueio estático.This value is for static lock allocation. Os bloqueios dinâmicos são limitados somente por memória.Dynamic locks are limited only by memory.
Níveis aninhados de procedimento armazenadoNested stored procedure levels 3232 Se um procedimento armazenado acessar mais de 64 bancos de dados ou mais de 2 bancos de dados em intercalação, você receberá um erro.If a stored procedure accesses more than 64 databases, or more than 2 databases in interleaving, you will receive an error.
Subconsultas aninhadasNested subqueries 3232
Transações aninhadasNested transactions 4.294.967.2964,294,967,296
Níveis aninhados de gatilhoNested trigger levels 3232
Índices não clusterizados por tabelaNonclustered indexes per table 999999
Número de expressões distintas na cláusula GROUP BY quando qualquer um dos seguintes estiver presente: 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
Número de conjuntos de agrupamentos gerados por operadores na cláusula GROUP BYNumber of grouping sets generated by operators in the GROUP BY clause 4,0964,096
Parâmetros por procedimento armazenadoParameters per stored procedure 2,1002,100
Parâmetros por função definida pelo usuárioParameters per user-defined function 2,1002,100
REFERENCES por tabelaREFERENCES per table 253253
Linhas por tabelaRows per table Limitado pelo armazenamento disponívelLimited by available storage
Tabelas por banco de dadosTables per database Limitado pelo número de objetos em um banco de dadosLimited by number of objects in a database Os objetos de banco de dados incluem objetos como tabelas, exibições, procedimentos armazenados, funções definidas pelo usuário, gatilhos, regras, padrões e restrições.Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. A soma do número de todos os objetos em um banco de dados não pode exceder 2.147.483.647.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Partições por tabela ou índice particionadoPartitions per partitioned table or index 15,00015,000
Estatísticas em colunas não indexadasStatistics on non-indexed columns 30,00030,000
Tabelas por instrução SELECTTables per SELECT statement Limitado apenas pelos recursos disponíveisLimited only by available resources
Gatilhos por tabelaTriggers per table Limitado pelo número de objetos em um banco de dadosLimited by number of objects in a database Os objetos de banco de dados incluem objetos como tabelas, exibições, procedimentos armazenados, funções definidas pelo usuário, gatilhos, regras, padrões e restrições.Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. A soma do número de todos os objetos em um banco de dados não pode exceder 2.147.483.647.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Conexões de usuárioUser connections 32,76732,767
índices XMLXML indexes 249249

SQL ServerSQL Server Objetos do utilitárioSQL ServerSQL Server Utility Objects

Tamanhos e números máximos de vários objetos que foram testados no Utilitário do SQL ServerSQL Server .Maximum sizes and numbers of various objects that were tested in the SQL ServerSQL Server Utility.

SQL ServerSQL Server Objeto do utilitárioUtility object Tamanho máximo/números SQL ServerSQL Server (64 bits)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Computadores (computadores físicos ou máquinas virtuais) por Utilitário do SQL ServerSQL ServerComputers (physical computers or virtual machines) per SQL ServerSQL Server Utility 100100
Instâncias do SQL ServerSQL Server por computadorInstances of SQL ServerSQL Server per computer 55
Número total de instâncias do SQL ServerSQL Server por Utilitário do SQL ServerSQL ServerTotal number of instances of SQL ServerSQL Server per SQL ServerSQL Server Utility 200*200*
Bancos de dados de usuários por instância do SQL ServerSQL Server, inclusive aplicativos da camada de dadosUser databases per instance of SQL ServerSQL Server, including data-tier applications 5050
Número total de bancos de dados de usuário por Utilitário do SQL ServerSQL ServerTotal number of user databases per SQL ServerSQL Server Utility 1,0001,000
Grupos de arquivos por banco de dadosFile groups per database 11
Arquivos de dados por grupo de arquivosData files per file group 11
Arquivos de log por banco de dadosLog files per database 11
Volumes por computadorVolumes per computer 33

*O número máximo de instâncias gerenciadas do SQL ServerSQL Server com suporte do Utilitário do SQL ServerSQL Server pode variar com base na configuração de hardware do 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 obter informações de introdução, consulte Recursos e tarefas do utilitário do SQL Server.For getting started information, see SQL Server Utility Features and Tasks. SQL ServerSQL Server não está disponível em todas as edições do SQL Server 2019 (15.x)SQL Server 2019 (15.x).Utility control point is not available in every edition of SQL Server 2019 (15.x)SQL Server 2019 (15.x). Para obter uma lista de recursos com suporte nas edições do SQL ServerSQL Server, consulte Recursos com suporte nas edições do 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 aplicativo da camada de dadosSQL ServerSQL Server Data-tier Application Objects

Tamanhos e números máximos de vários objetos que foram testados nos DAC (aplicativos de camada de dados) do 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 DACDAC object Tamanho máximo/números SQL ServerSQL Server (64 bits)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Bancos de dados por DACDatabases per DAC 11
Objetos por DAC*Objects per DAC* Limitado pelo número de objetos em um banco de dados ou pela memória disponível.Limited by the number of objects in a database, or available memory.

*Os tipos de objetos incluídos no limite são usuários, tabelas, exibições, procedimentos armazenados, funções definidas pelo usuário, tipo de dados definido pelo usuário, funções de banco de dados, esquemas e tipos de tabela definidos pelo usuário.*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 replicaçãoReplication Objects

Tamanhos e números máximos de vários objetos definidos na Replicação do SQL ServerSQL Server .Maximum sizes and numbers of various objects defined in SQL ServerSQL Server Replication.

SQL ServerSQL Server Objeto de replicaçãoReplication object Tamanhos/números máximos do SQL Server (64 bits)Maximum sizes/numbers SQL Server (64-bit)
Artigos (publicação de mesclagem)Articles (merge publication) 20482048
Artigos (publicação de instantâneo ou transacional)Articles (snapshot or transactional publication) 32,76732,767
Colunas em uma tabela* (publicação de mesclagem)Columns in a table* (merge publication) 246246
Colunas em uma tabela** (instantâneo doSQL ServerSQL Server ou publicação transacional)Columns in a table** (SQL ServerSQL Server snapshot or transactional publication) 1,0001,000
Colunas em uma tabela** (instantâneo do Oracle ou publicação transacional)Columns in a table** (Oracle snapshot or transactional publication) 995995
Bytes para uma coluna usada em um filtro de linha (publicação de mesclagem)Bytes for a column used in a row filter (merge publication) 1,0241,024
Bytes para uma coluna usada em um filtro de linha (publicação de instantâneo ou transacional)Bytes for a column used in a row filter (snapshot or transactional publication) 8,0008,000

*Se o controle de linha for usado para detecção de conflitos (o padrão), a tabela base poderá incluir no máximo 1.024 colunas, mas as colunas deverão ser filtradas do artigo para que um máximo de 246 colunas seja publicado.*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. Se o rastreamento de coluna for usado, a tabela base poderá incluir no máximo 246 colunas.If column tracking is used, the base table can include a maximum of 246 columns.

**A tabela base pode incluir o número máximo de colunas permitidas no banco de dados de publicação (1.024 para SQL ServerSQL Server), mas as colunas devem ser filtradas do artigo se excederem o máximo especificado para o tipo de publicação.**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 TambémSee Also

Requisitos de hardware e software para a instalação do SQL Server 2016 Hardware and Software Requirements for Installing SQL Server 2016
Verificar parâmetros do Verificador de Configuração do Sistema Check Parameters for the System Configuration Checker
Recursos e tarefas do utilitário do SQL ServerSQL Server Utility Features and Tasks