Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Este artigo mostra tamanhos máximos e números de vários objetos definidos no SQL Server 2016 (13.x) e posterior. Se você quiser exibir limites de edição, consulte Limites de capacidade de computação por edição do SQL Server.
Para o SQL Server 2014 (12.x), consulte Especificações de capacidade máxima para o SQL Server 2014.
Objetos do Mecanismo de Banco de Dados
Valores máximos de vários objetos definidos em bancos de dados do SQL Server ou referenciados em instruções Transact-SQL.
| Objeto do Mecanismo de Banco de Dados do SQL Server | Valores máximos para SQL Server (64 bits) | Informação Adicional |
|---|---|---|
| Tamanho do lote | 65.536 * (tamanho do pacote de rede) | Tamanho do pacote de rede é o tamanho dos pacotes de fluxo de dados tabulares (TDS) usados para se comunicar entre o Mecanismo de Banco de Dados relacional e os aplicativos. O tamanho padrão do pacote é 4 KB. O tamanho do pacote de rede controla essa opção de configuração. |
| Comprimento de byte de uma cadeia de caracteres que contém instruções Transact-SQL (tamanho do lote) | 65.536 * (tamanho do pacote de rede) | Tamanho do pacote de rede é o tamanho dos pacotes de fluxo de dados tabulares (TDS) usados para se comunicar entre o Mecanismo de Banco de Dados relacional e os aplicativos. O tamanho de pacote padrão é de 4 KB e é controlado pela opção de configuração de tamanho de 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. Para o SQL Server 2014 (12.x) e versões anteriores, todas as versões suportavam 900 bytes para todos os tipos de índice. | O número máximo de bytes em uma chave de índice clusterizada não pode exceder 900. Para uma chave de índice não clusterizada, o máximo é de 1.700 bytes. Você pode definir uma chave usando colunas de comprimento variável cujos tamanhos máximos somam mais do que o limite. No entanto, os tamanhos combinados dos dados nessas colunas nunca podem exceder o limite. Em um índice não clusterizado, você pode incluir colunas extras não-chave e elas não contam para o limite de tamanho da chave. As colunas não-chave podem ajudar algumas consultas a terem 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. Não há limite para um índice de hash, desde que todas as chaves de índice caibam na 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 declarados excedam 2.500 bytes. Não importa se os dados reais nas colunas principais seriam menores do que os tamanhos máximos declarados. Para uma chave de índice de hash, não há limite rígido de tamanho. Para índices em tabelas com otimização de memória, não há o conceito de colunas incluídas, uma vez que todos os índices cobrem inerentemente todas as colunas. Para uma tabela com otimização de memória, mesmo que o tamanho da linha seja de 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, mais quaisquer colunas adicionais de comprimento fixo na tabela, devem caber nos 8.060 bytes. |
| Bytes por chave estrangeira | 900 | |
| Bytes por chave primária | 900 | |
| Bytes por linha | 8,060 | O SQL Server dá suporte ao armazenamento de estouro de linha, o que permite que colunas de comprimento variável sejam empurradas para fora da linha. Apenas uma raiz de 24 bytes é armazenada no registro principal para colunas de comprimento variável empurradas para fora da linha. Para obter mais informações, consulte Suporte a linhas grandes. |
| Bytes por linha em tabelas com otimização de memória | 8,060 | As tabelas com otimização de memória no SQL Server 2016 (13.x) e posterior oferecem suporte ao armazenamento fora de linha. As colunas de comprimento variável são empurradas para fora da linha se os tamanhos máximos para todas as colunas na tabela excederem 8.060 bytes; Esta ação é uma decisão em tempo de compilação. Apenas uma referência de 8 bytes é armazenada em linha para colunas armazenadas fora da linha. Para obter mais informações, consulte Tabela e tamanho da linha em tabelas com otimização de memória. |
| Bytes no texto de origem de um procedimento armazenado | Menor tamanho de lote ou 250 MB | |
Bytes por varchar(max), varbinary(max), xml, textou image coluna |
2^31-1 | |
Caracteres por ntext coluna nvarchar(max) |
2^30-1 | |
| Índices agrupados por tabela | 1 | |
Colunas em GROUP BY, ORDER BY |
Limitado apenas pelo número de bytes | |
Colunas ou expressões em uma GROUP BY WITH CUBE instrução 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 será 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 Criar índices com colunas incluídas. |
| Colunas por chave estrangeira ou chave primária | 32 | |
Colunas por INSERT instrução |
4,096 | |
Colunas por SELECT instrução |
4,096 | |
| Colunas por tabela | 1,024 | As tabelas que incluem conjuntos de colunas esparsas incluem até 30.000 colunas. Consulte Usar conjuntos de colunas. |
Colunas por UPDATE instrução |
4,096 | Limites diferentes se aplicam a Usar conjuntos de colunas. |
| Colunas por vista | 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 arquivos por banco de dados para dados com otimização de memória | 1 | |
| Arquivos por banco de dados | 32 767 | |
| Tamanho do ficheiro (dados) | 16 terabytes | |
| Tamanho do ficheiro (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 rigoroso 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 tabelas de chaves estrangeiras por tabela | Saída = 253. Entrada = 10.000. |
Para restrições, consulte Criar relações de chave estrangeira. |
| Comprimento do 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 compartilhada como armazenamento. 50 instâncias de cluster de failover com compartilhamentos de arquivos SMB como opção de armazenamento. |
|
| Índices por tabela com otimização de memória | 999 iniciando o 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 ligação | Máximo de bloqueios por servidor | |
| Bloqueios por instância do SQL Server | Limitado apenas pela memória | Esse valor é para alocação de bloqueio estático. Os bloqueios dinâmicos são limitados apenas pela memória. |
| Níveis de procedimento armazenado aninhados | 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 de gatilho aninhados | 32 | |
| Índices não agrupados por tabela | 999 | |
Número de expressões distintas na cláusula, GROUP BY quando estiver presente qualquer uma das seguintes situações: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP |
32 | |
Número de conjuntos de agrupamentos gerados pelos operadores na GROUP BY cláusula |
4,096 | |
| Parâmetros por procedimento armazenado | 2,100 | |
| Parâmetros por função definida pelo utilizador | 2,100 | |
REFERENCES por tabela |
253 | |
| Linhas por tabela | Limitado pelo armazenamento disponível | |
| Tabelas por base 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 sobre colunas não indexadas | 30,000 | |
Tabelas por SELECT instrução |
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 |
Objetos de aplicativo da camada de dados do SQL Server
Valores máximos de vários objetos que foram testados nos aplicativos da camada de dados (DAC) do SQL Server.
| Objeto do DAC do SQL Server | 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 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.
| Objeto de replicação do SQL Server | Valores máximos para o SQL Server (64 bits) |
Informações adicionais |
|---|---|---|
| Artigos (publicação de fusão) | 2,048 | |
| Artigos (instantâneo ou publicação transacional) | 32 767 | |
| Colunas em uma tabela (publicação de mesclagem) | 246 | Se o rastreamento de linhas for usado para deteção de conflitos (o padrão), a tabela base poderá incluir um máximo de 1.024 colunas. No entanto, a publicação precisa filtrar o artigo para que um máximo de 246 colunas sejam publicadas. Se o rastreamento de colunas for usado, a tabela base poderá incluir um máximo de 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 permitido no banco de dados de publicação do SQL Server (1.024), mas as colunas devem ser filtradas do artigo se excederem o máximo especificado para o tipo de publicação. |
| Colunas em uma tabela (snapshot Oracle ou publicação transacional) | 995 | A tabela base pode incluir o número máximo de colunas permitido no banco de dados de publicação do SQL Server (1.024), mas as colunas devem 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 (instantâneo ou publicação transacional) | 8,000 |