Specifiche di capacità massima per SQL Server
Le tabelle seguenti specificano le dimensioni massime e i numeri di vari oggetti definiti nei componenti SQL Server. Per passare alla tabella per una tecnologia di SQL Server, fare clic sul relativo collegamento:
Oggetti Motore di database di SQL Server
SQL Server oggetti applicazione livello dati
Oggetti di replica di SQL Server
Oggetti del Motore di database
Nella tabella seguente vengono specificate le dimensioni massime e i numeri di vari oggetti definiti in SQL Server database o a cui viene fatto riferimento nelle istruzioni Transact-SQL.
Oggetto Motore di database di SQL Server | Dimensioni/numeri massimi per SQL Server (32 bit) | Dimensioni/numeri massimi per SQL Server (64 bit) |
---|---|---|
Dimensioni dei batch Nota: Le dimensioni dei pacchetti di rete sono le dimensioni dei pacchetti TDS (Tabular Data Stream) usati per comunicare tra le applicazioni e il motore di database relazionale. La dimensione predefinita del pacchetto è 4 KB e viene controllata dall'opzione di configurazione delle dimensioni del pacchetto di rete. |
65.536 * dimensioni del pacchetto di rete | 65.536 * dimensioni del pacchetto di rete |
Byte per ogni colonna di stringhe brevi | 8\.000 | 8\.000 |
Byte per ogni clausola GROUP BY, ORDER BY | 8\.060 | 8\.060 |
Byte per ogni chiave di indice Nota: il numero massimo di byte in qualsiasi chiave di indice non può superare 900 in SQL Server. È possibile definire una chiave utilizzando colonne di lunghezza variabile le cui dimensioni massime sono maggiori di 900, a condizione che non vengano inserite nelle colonne righe con più di 900 byte di dati. In SQL Server è possibile includere colonne non chiave in un indice non cluster per evitare la dimensione massima della chiave di indice di 900 byte. |
900 | 900 |
Byte per ogni chiave esterna | 900 | 900 |
Byte per ogni chiave primaria | 900 | 900 |
Byte per ogni riga Nota: SQL Server supporta l'archiviazione dell'overflow delle righe che consente il push delle colonne a lunghezza variabile all'esterno della riga. Solo una radice a 24 byte viene archiviata nel record principale per le colonne a lunghezza variabile spostate all'esterno della riga; per questo motivo, il limite effettivo delle righe è superiore a quello delle versioni precedenti di SQL Server. Per altre informazioni, vedere l'argomento "Row-Overflow Data Exceeding 8 KB" nella documentazione online di SQL Server. |
8\.060 | 8\.060 |
Byte per ogni riga nelle tabelle ottimizzate per la memoria Nota: SQL Server In-Memory OLTP non supporta l'archiviazione di overflow delle righe. Le colonne a lunghezza variabile non vengono spostate all'esterno delle righe. In questo modo viene limitata la larghezza massima delle colonne a lunghezza variabile che è possibile specificare in una tabella ottimizzata per la memoria alle dimensioni massime di riga. Per altre informazioni, vedere Dimensioni di tabelle e righe per le tabelle con ottimizzazione per la memoria. |
Non supportato | 8\.060 |
Byte nel testo di origine di una stored procedure | Minore delle dimensioni batch o 250 MB | Minore delle dimensioni batch o 250 MB |
Byte per ogni colonna varchar(max) , varbinary(max) , xml , text o image |
2^31-1 | 2^31-1 |
Caratteri per ogni colonna ntext o nvarchar(max) |
2^30-1 | 2^30-1 |
Indici cluster per tabella | 1 | 1 |
Colonne in GROUP BY, ORDER BY | Limitato solo dal numero di byte | Limitato solo dal numero di byte |
Colonne o espressioni in un'istruzione GROUP BY WITH CUBE o WITH ROLLUP | 10 | 10 |
Colonne per ogni chiave di indice Nota: se la tabella contiene uno o più indici XML, la chiave di clustering della tabella utente è limitata a 15 colonne perché la colonna XML viene aggiunta alla chiave clustering dell'indice XML primario. In SQL Server è possibile includere colonne non chiave in un indice non cluster per evitare la limitazione di un massimo di 16 colonne chiave. Per altre informazioni, vedere Creare indici con colonne incluse. |
16 | 16 |
Colonne per ogni chiave esterna | 16 | 16 |
Colonne per ogni chiave primaria | 16 | 16 |
Colonne per ogni tabella non estesa in larghezza | 1\.024 | 1\.024 |
Colonne per ogni tabella estesa in larghezza | 30.000 | 30.000 |
Colonne per ogni istruzione SELECT | 4\.096 | 4\.096 |
Colonne per ogni istruzione INSERT | 4096 | 4096 |
Connessioni per ogni client | Valore massimo delle connessioni configurate | Valore massimo delle connessioni configurate |
Dimensioni del database | 524.272 terabytes | 524.272 terabytes |
Database per ogni istanza di SQL Server | 32.767 | 32.767 |
Filegroup per ogni database | 32.767 | 32.767 |
Filegroup per ogni database per dati ottimizzati per la memoria | Non supportato | 1 |
File per ogni database | 32.767 | 32.767 |
Dimensioni di file (dati) | 16 terabyte | 16 terabyte |
Dimensioni del file (log) | 2 terabyte | 2 terabyte |
File di dati per dati ottimizzati per la memoria per ogni database | Non supportato | 4.096 |
File differenziale per ogni file di dati per dati ottimizzati per la memoria | Non supportato | 1 |
Riferimenti alla tabella della chiave esterna per ogni tabella Nota: anche se una tabella può contenere un numero illimitato di vincoli FOREIGN KEY, il massimo consigliato è 253. A seconda della configurazione hardware che ospita SQL Server, la specifica di vincoli FOREIGN KEY aggiuntivi potrebbe risultare costosa per l'elaborazione di Query Optimizer. |
253 | 253 |
Lunghezza di identificatore (in caratteri) | 128 | 128 |
Istanze per ogni computer | 50 istanze in un server autonomo per tutte le edizioni SQL Server. SQL Server supporta 25 istanze in un cluster di failover quando si usa un disco cluster condiviso come opzione archiviata per l'installazione del cluster SQL Server supporta 50 istanze in un cluster di failover se si scelgono condivisioni file SMB come opzione di archiviazione per l'installazione del cluster. Per altre informazioni, vedere Requisiti hardware e software per l'installazione di SQL Server 2014. |
50 istanze in un server autonomo. 25 istanze in un cluster di failover quando si usa un disco cluster condiviso come opzione archiviata per l'installazione del cluster SQL Server supporta 50 istanze in un cluster di failover se si scelgono condivisioni file SMB come opzione di archiviazione per l'installazione del cluster. |
Indici per ogni tabella ottimizzata per la memoria | Non supportato | 8 |
Lunghezza di una stringa contenente istruzioni SQL (dimensioni batch) Nota: Le dimensioni dei pacchetti di rete sono le dimensioni dei pacchetti TDS (Tabular Data Stream) usati per comunicare tra le applicazioni e il motore di database relazionale. La dimensione predefinita del pacchetto è 4 KB e viene controllata dall'opzione di configurazione delle dimensioni del pacchetto di rete. |
65.536 * dimensioni del pacchetto di rete | 65.536 * dimensioni del pacchetto di rete |
Blocchi per ogni connessione | Numero massimo di blocchi per ogni server | Numero massimo di blocchi per ogni server |
Blocchi per ogni istanza di SQL Server Nota: questo valore è per l'allocazione di blocchi statici. I blocchi dinamici sono limitati solo dalla memoria. |
Fino a 2.147.483.647 | Limitato solo dalla memoria |
Livelli di nidificazione delle stored procedure Nota: se una stored procedure accede a più di 64 database o più di 2 database in interleaving, verrà visualizzato un errore. |
32 | 32 |
Sottoquery nidificate | 32 | 32 |
Livelli di nidificazione dei trigger | 32 | 32 |
Indici non cluster per tabella | 999 | 999 |
Numero di espressioni distinte nella clausola GROUP BY quando è presente una delle seguenti opzioni: CUBE, ROLLUP, GROUPING SETS, WITH CUBE o WITH ROLLUP | 32 | 32 |
Numero di set di raggruppamento generati dagli operatori nella clausola GROUP BY | 4\.096 | 4\.096 |
Parametri per ogni stored procedure | 2\.100 | 2\.100 |
Parametri per ogni funzionalità definita dall'utente | 2\.100 | 2\.100 |
REFERENCES per ogni tabella | 253 | 253 |
Righe per ogni tabella | Limitato dall'archiviazione disponibile | Limitato dall'archiviazione disponibile |
Tabelle per ogni database Nota: gli oggetti di database includono oggetti come tabelle, viste, stored procedure, funzioni definite dall'utente, trigger, regole, impostazioni predefinite e vincoli. La somma del numero di tutti gli oggetti in un database non può essere maggiore di 2.147.483.647. |
Limitato dal numero di oggetti di un database | Limitato dal numero di oggetti di un database |
Partizioni per ogni tabella o indice partizionato | 1.000 **Importante** La creazione di una tabella o di un indice con più di 1.000 partizioni è possibile in un sistema a 32 bit, ma non è supportata. |
15.000 |
Statistiche relative a colonne non indicizzate | 30.000 | 30.000 |
Tabelle per ogni istruzione SELECT | Limitato solo dalle risorse disponibili | Limitato solo dalle risorse disponibili |
Trigger per ogni tabella Nota: gli oggetti di database includono oggetti come tabelle, viste, stored procedure, funzioni definite dall'utente, trigger, regole, impostazioni predefinite e vincoli. La somma del numero di tutti gli oggetti in un database non può essere maggiore di 2.147.483.647. |
Limitato dal numero di oggetti di un database | Limitato dal numero di oggetti di un database |
Colonne per ogni istruzione UPDATE (tabelle estese in larghezza) | 4096 | 4096 |
Connessioni utente | 32.767 | 32.767 |
Indici XML | 249 | 249 |
Oggetti di Utilità SQL Server
Nella tabella seguente vengono specificate le dimensioni massime e i numeri di vari oggetti testati nell'utilità SQL Server.
Oggetto di Utilità SQL Server | Dimensioni/numeri massimi per SQL Server (32 bit) | Dimensioni/numeri massimi per SQL Server (64 bit) |
---|---|---|
Computer (computer fisici o macchine virtuali) per Utilità SQL Server | 100 | 100 |
Istanze di SQL Server per computer | 5 | 5 |
Numero totale di istanze di SQL Server per Utilità SQL Server | 200* | 200* |
Database utente per istanza di SQL Server, incluse le applicazioni livello dati | 50 | 50 |
Numero complessivo di database utente per Utilità SQL Server | 1\.000 | 1\.000 |
Filegroup per ogni database | 1 | 1 |
File di dati per filegroup | 1 | 1 |
File di log per ogni database | 1 | 1 |
Volumi per ogni computer | 3 | 3 |
*Il numero massimo di istanze gestite di SQL Server supportate da SQL Server Utilità può variare in base alla configurazione hardware del server. Per informazioni introduttive, vedere Attività e funzionalità di Utilità SQL Server. SQL Server punto di controllo dell'utilità non è disponibile in ogni edizione di SQL Server 2014. Per un elenco delle funzionalità supportate dalle edizioni di SQL Server, vedere Funzionalità supportate dalle edizioni di SQL Server 2014.
Oggetti applicazione livello dati di SQL Server
La tabella seguente specifica le dimensioni massime e i numeri di vari oggetti testati nelle applicazioni livello dati SQL Server.
Oggetto applicazione livello dati di SQL Server | Dimensioni/numeri massimi per SQL Server (32 bit) | Dimensioni/numeri massimi per SQL Server (64 bit) |
---|---|---|
Database per ogni applicazione livello dati | 1 | 1 |
Oggetti per ogni applicazione livello dati | Limitati dal numero di oggetti in un database o dalla memoria disponibile. | Limitati dal numero di oggetti in un database o dalla memoria disponibile. |
I tipi di oggetti inclusi nel limite sono utenti, tabelle, viste, stored procedure, funzioni definite dall'utente, tipi di dati definiti dall'utente, ruoli di database, schemi e tipi di tabella definiti dall'utente.
Oggetti di replica
Nella tabella seguente vengono specificate le dimensioni massime e i numeri di vari oggetti definiti in replica di SQL Server.
Oggetto di replica di SQL Server | Dimensioni/numeri massimi per SQL Server (32 bit) | Dimensioni/numeri massimi per SQL Server (64 bit) |
---|---|---|
Articoli (pubblicazione di tipo merge) | 256 | 256 |
Articoli (pubblicazione snapshot o transazionale) | 32.767 | 32.767 |
Colonne in una tabella* (pubblicazione di tipo merge) | 246 | 246 |
Colonne in una tabella** (SQL Server pubblicazione snapshot o transazionale) | 1\.000 | 1\.000 |
Colonne in una tabella** (pubblicazione snapshot o transazionale di Oracle) | 995 | 995 |
Byte per una colonna utilizzata in un filtro di riga (pubblicazione di tipo merge) | 1\.024 | 1\.024 |
Byte per una colonna utilizzata in un filtro di riga (pubblicazione snapshot o transazionale) | 8\.000 | 8\.000 |
*Se si usa il rilevamento a livello di riga per il rilevamento dei conflitti (impostazione predefinita), la tabella di base può includere fino a 1.024 colonne, che devono tuttavia essere filtrate dall'articolo in modo da pubblicare un massimo di 246 colonne. Se viene utilizzato il rilevamento a livello di colonna, nella tabella di base possono essere incluse al massimo 246 colonne.
**La tabella di base può includere il numero massimo di colonne consentite nel database di pubblicazione (1.024 per SQL Server), ma le colonne devono essere filtrate dall'articolo se superano il valore massimo specificato per il tipo di pubblicazione.
Vedere anche
Requisiti hardware e software per l'installazione di SQL Server 2014
Parametri di controllo di Controllo configurazione sistema
Attività e funzionalità di Utilità SQL Server