Especificações de capacidade máxima do SQL Server
Aplica-se: SQL Server
O artigo mostra os tamanhos e os números máximos de vários objetos definidos na SQL Server 2016 (13.x) e posterior. Se você quiser exibir os limites de edição, confira Limites de capacidade de computação por edição do SQL Server.
Para SQL Server 2014 (12.x), confira Especificações de capacidade máxima para o SQL Server 2014.
Objetos Mecanismo de Banco de Dados
Valores máximos de vários objetos definidos nos bancos de dados do SQL Server ou referenciados em instruções Transact-SQL.
Objeto do SQL Server Mecanismo de Banco de Dados | Valores máximos para SQL Server (64 bits) | Informações adicionais |
---|---|---|
Tamanho do lote | 65.536 * (Tamanho do pacote de rede) | O tamanho do pacote de rede é o tamanho dos pacotes do protocolo TDS usados para comunicação entre o Mecanismo de Banco de Dados relacional e os aplicativos. O tamanho do pacote padrão é de 4 KB. O tamanho do pacote de rede controla essa opção de configuração. |
Comprimento em bytes de uma cadeia de caracteres que contém instruções Transact-SQL (tamanho do lote) | 65.536 * (Tamanho do pacote de rede) | O tamanho do pacote de rede é o tamanho dos pacotes do protocolo TDS usados para comunicação entre o Mecanismo de Banco de Dados relacional e os aplicativos. O tamanho de pacote padrão é 4 KB e é controlado pela opção de configuração tamanho do pacote de rede. |
Bytes por coluna de cadeia de caracteres curta | 8,000 | |
Bytes por GROUP BY , ORDER BY |
8,060 | |
Bytes por chave de índice | 900 bytes para um índice clusterizado. 1.700 bytes para um índice não clusterizado. No SQL Server 2014 (12.x) e anteriores, todas as versões davam suporte a 900 bytes para todos os tipos de índice. | O número máximo de bytes em qualquer chave de índice clusterizado não pode exceder 900. Para uma chave de índice não clusterizado, o máximo é 1.700 bytes. Você pode definir uma chave usando colunas de comprimento variável cujos tamanhos máximos se acumulam até mais do que o limite. No entanto, os tamanhos combinados dos dados nessas colunas nunca pode exceder o limite. 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. As colunas não chave podem ajudar algumas consultas a ter um melhor desempenho. |
Bytes por chave de índice para tabelas com otimização de memória | 2.500 bytes para um índice não clusterizado. Nenhum limite para um índice de hash, desde que todas as chaves de índice caibam em linha. | 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. É irrelevante se os dados reais nas colunas de chave são menores que os tamanhos máximos declarados. Para uma chave de índice de hash, não há um limite fixo para o tamanho. 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. 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. 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, precisam caber nos 8.060 bytes. |
Bytes por chave estrangeira | 900 | |
Bytes por chave primária | 900 | |
Bytes por linha | 8,060 | SQL 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. Somente uma raiz de 24 bytes é armazenada no registro principal para colunas de comprimento variável empurradas para fora da linha. Para saber mais, confira Large Row Support (Suporte de linha grande). |
Bytes por linha em tabelas com otimização de memória | 8,060 | Tabelas com otimização de memória no SQL Server 2016 (13.x) e posteriores dão suporte ao armazenamento fora de linha. Colunas de comprimento variável serão enviadas por push para fora da linha se os tamanhos máximos de todas as colunas na tabela excederem 8.060 bytes. Esta ação é uma decisão de tempo de compilação. Apenas uma referência de 8 bytes é armazenada na linha para colunas armazenadas fora de linha. Para obter mais informações, consulte Tamanho da tabela e da linha em tabelas com otimização de memória. |
Bytes em texto de fonte de um procedimento armazenado | Menor que o tamanho do lote ou 250 MB | |
Bytes por coluna varchar(max) , varbinary(max) , xml , text ou image |
2^31-1 | |
Caracteres por coluna ntext ou nvarchar(max) |
2^30-1 | |
Índices clusterizados por tabela | 1 | |
Colunas em GROUP BY , ORDER BY |
Limitado somente pelo número de bytes | |
Colunas ou expressões em uma instrução GROUP BY WITH CUBE ou GROUP BY WITH ROLLUP |
10 | |
Colunas por chave de índice | 32 | 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. 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. Para obter mais informações, consulte Create Indexes with Included Columns. |
Colunas por chave estrangeira ou chave primária | 32 | |
Colunas por instrução INSERT |
4\.096 | |
Colunas por instrução SELECT |
4\.096 | |
Colunas por tabela | 1\.024 | As tabelas que incluem conjuntos de colunas esparsas incluem até 30.000 colunas. Confira Conjuntos de colunas esparsas. |
Colunas por instrução UPDATE |
4\.096 | Diferentes limites se aplicam aos conjuntos de colunas esparsas. |
Colunas por exibição | 1\.024 | |
Conexões por cliente | Valor máximo de conexões configuradas | |
Tamanho do banco de dados | 524.272 terabytes | |
Bancos de dados por instância do SQL Server | 32.767 | |
Grupos de arquivos por banco de dados | 32.767 | |
Grupos de arquivo por banco de dados para dados com otimização de memória. | 1 | |
Arquivos por banco de dados | 32.767 | |
Tamanho de arquivo (dados) | 16 terabytes | |
Tamanho de arquivo (log) | 2 terabytes | |
Arquivos de dados para dados com otimização de memória por banco de dados | 4\.096 no SQL Server 2014 (12.x). O limite é menos estrito no SQL Server 2016 (13.x) e posterior. | |
Arquivo delta por arquivo de dados para dados com otimização de memória | 1 | |
Referências de tabela de chave estrangeira por tabela | Saída = 253. Entrada= 10.000. |
Para restrições, consulte Create Foreign Key Relationships. |
Comprimento de identificador (em caracteres) | 128 | |
Instâncias por computador | 50 instâncias em um servidor autônomo. 25 instâncias de cluster de failover ao usar uma unidade de cluster compartilhado como armazenamento. 50 instâncias de cluster de failover com compartilhamentos de arquivos SMB como a opção de armazenamento. |
|
Índices por tabela com otimização de memória | 999 a partir do SQL Server 2017 (14.x) e no Banco de Dados SQL do Azure. 8 no SQL Server 2016 (13.x) e no SQL Server 2014 (12.x). |
|
Bloqueios por conexão | Máximo de bloqueios por servidor | |
Bloqueios por instância do SQL Server | Limitado somente por memória | Esse valor é para alocação de bloqueio estático. Os bloqueios dinâmicos são limitados somente por memória. |
Níveis aninhados de procedimento armazenado | 32 | Se um procedimento armazenado acessar mais de 64 bancos de dados ou mais de dois bancos de dados em intercalação, você receberá um erro. |
Subconsultas aninhadas | 32 | |
Transações aninhadas | 4\.294.967.296 | |
Níveis aninhados de gatilho | 32 | |
Índices não clusterizados por tabela | 999 | |
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 ROLLUP |
32 | |
Número de conjuntos de agrupamentos gerados por operadores na cláusula GROUP BY |
4\.096 | |
Parâmetros por procedimento armazenado | 2,100 | |
Parâmetros por função definida pelo usuário | 2,100 | |
REFERENCES por tabela | 253 | |
Linhas por tabela | Limitado pelo armazenamento disponível | |
Tabelas por banco de dados | Limitado pelo número total de objetos em um banco de dados | Os objetos incluem tabelas, exibições, procedimentos armazenados, funções definidas pelo usuário, gatilhos, regras, padrões e restrições. A soma do número de todos os objetos em um banco de dados não pode exceder 2.147.483.647. |
Partições por tabela ou índice particionado | 15,000 | |
Estatísticas em colunas não indexadas | 30,000 | |
Tabelas conforme a instrução SELECT |
Limitado apenas pelos recursos disponíveis | |
Gatilhos por tabela | Limitado pelo número de objetos em um banco de dados | Os objetos incluem tabelas, exibições, procedimentos armazenados, funções definidas pelo usuário, gatilhos, regras, padrões e restrições. A soma do número de todos os objetos em um banco de dados não pode exceder 2.147.483.647. |
Conexões de usuário | 32.767 | |
índices XML | 249 |
SQL Server Objetos de aplicativo da camada de dados
Valores máximos de vários objetos que foram testados nos DAC (aplicativos de camada de dados) do SQL Server.
SQL Server DAC | Valores máximos para SQL Server (64 bits) | Informações adicionais |
---|---|---|
Bancos de dados por DAC | 1 | |
Objetos por DAC | Limitado pelo número de objetos em um banco de dados ou pela memória disponível. | 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. |
Objetos de replicação
Valores máximos de vários objetos definidos na Replicação do SQL Server.
SQL Server Objeto de replicação | Valores máximos para SQL Server (64 bits) |
Informações adicionais |
---|---|---|
Artigos (publicação de mesclagem) | 2\.048 | |
Artigos (publicação de instantâneo ou transacional) | 32.767 | |
Colunas em uma tabela (publicação de mesclagem) | 246 | Se o rastreamento de linha for usado para detecção de conflito (o padrão), a tabela base poderá incluir no máximo 1.024 colunas. No entanto, a publicação precisa filtrar o artigo para que no máximo 246 colunas sejam publicadas. Se o rastreamento de coluna for usado, a tabela base poderá incluir no máximo 246 colunas. |
Colunas em uma tabela (instantâneo do SQL Server ou publicação transacional) | 1,000 | A tabela base pode incluir o número máximo de colunas permitidas no banco de dados de publicação do SQL Server (1.024), mas as colunas precisarão ser filtradas do artigo se excederem o máximo especificado para o tipo de publicação. |
Colunas em uma tabela (instantâneo do Oracle ou publicação transacional) | 995 | A tabela base pode incluir o número máximo de colunas permitidas no banco de dados de publicação do SQL Server (1.024), mas as colunas precisarão ser filtradas do artigo se excederem o máximo especificado para o tipo de publicação. |
Bytes para uma coluna usada em um filtro de linha (publicação de mesclagem) | 1\.024 | |
Bytes para uma coluna usada em um filtro de linha (publicação de instantâneo ou transacional) | 8,000 |