Spécifications des capacités maximales pour SQL Server
Les tableaux suivants présentent la taille maximale et le nombre maximal des différents objets définis dans les composants SQL Server.
Objets du moteur de base de données
Le tableau suivant présente la taille maximale et le nombre maximal des différents objets définis dans les bases de données SQL Server ou référencés dans les instructions Transact-SQL.
Objet du moteur de base de données SQL Server |
Taille maximale/nombre maximal dans SQL Server (32 bits) |
Taille maximale/nombre maximal dans SQL Server (64 bits) |
---|---|---|
Taille du traitement1 |
65 536 * Taille des paquets réseau |
65 536 * Taille des paquets réseau |
Octets par colonne de chaîne courte |
8,000 |
8,000 |
Octets par clause GROUP BY, ORDER BY |
8,060 |
8,060 |
Octets par clé d'index2 |
900 |
900 |
Octets par clé étrangère |
900 |
900 |
Octets par clé primaire |
900 |
900 |
Octets par ligne8 |
8,060 |
8,060 |
Octets dans le texte source d'une procédure stockée |
Taille de lot inférieure ou 250 Mo |
Taille de lot inférieure ou 250 Mo |
Octets par colonne varchar(max), varbinary(max), xml, text ou image |
2^31-1 |
2^31-1 |
Caractères par colonne ntext ou nvarchar(max) |
2^30-1 |
2^30-1 |
Index cluster par table |
1 |
1 |
Colonnes dans les clauses GROUP BY, ORDER BY |
Limité uniquement par le nombre d'octets |
Limité uniquement par le nombre d'octets |
Colonnes ou expressions dans une instruction GROUP BY WITH CUBE ou WITH ROLLUP |
10 |
10 |
Colonnes par clé d'index7 |
16 |
16 |
Colonnes par clé étrangère |
16 |
16 |
Colonnes par clé primaire |
16 |
16 |
Colonnes par tableau non large |
1,024 |
1,024 |
Colonnes par tableau large |
30,000 |
30,000 |
Colonnes par instruction SELECT |
4,096 |
4,096 |
Colonnes par instruction INSERT |
4096 |
4096 |
Connexions par client |
Valeur maximale des connexions configurées |
Valeur maximale des connexions configurées |
Taille de la base de données |
524 272 téraoctets |
524 272 téraoctets |
Bases de données par instance de SQL Server |
32,767 |
32,767 |
Groupes de fichiers par base de données |
32,767 |
32,767 |
Fichiers par base de données |
32,767 |
32,767 |
Taille de fichier (données) |
16 téraoctets |
16 téraoctets |
Taille de fichier (journal) |
2 téraoctets |
2 téraoctets |
Références de table de clé étrangère par table4 |
253 |
253 |
Longueur d'identificateur (en caractères) |
128 |
128 |
Instances par ordinateur |
50 instances sur un serveur autonome pour toutes les éditions de SQL Server, à l'exception de Workgroup. Workgroup prend en charge un maximum de 16 instances par ordinateur. SQL Server prend en charge 25 instances sur un cluster de basculement. |
50 instances sur un serveur autonome. 25 instances sur un cluster de basculement. |
Longueur d'une chaîne contenant des instructions SQL (taille du traitement)1 |
65 536 * Taille des paquets réseau |
65 536 * Taille des paquets réseau |
Verrous par connexion |
Verrous maximaux par serveur |
Verrous maximaux par serveur |
Verrous par instance SQL Server5 |
Jusqu'à 2 147 483 647 |
Limité uniquement par la mémoire |
Niveaux d'imbrication des procédures stockées6 |
32 |
32 |
Sous-requêtes imbriquées |
32 |
32 |
Niveaux de déclencheurs imbriqués |
32 |
32 |
Index non cluster par table |
999 |
999 |
Nombre d'expressions distinctes dans la clause GROUP BY lorsque l'un des éléments suivants est présent : CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP |
32 |
32 |
Nombre de jeux de regroupement générés par les opérateurs dans la clause GROUP BY |
4,096 |
4,096 |
Paramètres par procédure stockée |
2,100 |
2,100 |
Paramètres par fonction définie par l'utilisateur |
2,100 |
2,100 |
REFERENCES par table |
253 |
253 |
Lignes par table |
Limité par le stockage disponible |
Limité par le stockage disponible |
Tables par base de données3 |
Limité par le nombre d'objets dans une base de données |
Limité par le nombre d'objets dans une base de données |
Partitions par table ou index partitionné |
1,000 |
1,000 |
Statistiques sur les colonnes non indexées |
30,000 |
30,000 |
Tables par instruction SELECT |
Limité uniquement par les ressources disponibles |
Limité uniquement par les ressources disponibles |
Déclencheurs par table3 |
Limité par le nombre d'objets dans une base de données |
Limité par le nombre d'objets dans une base de données |
Colonnes par instruction UPDATE (tableaux larges) |
4096 |
4096 |
Connexions utilisateur |
32,767 |
32,767 |
Index XML |
249 |
249 |
1 La taille des paquets réseau représente la taille des paquets TDS (Tabular Data Stream) utilisés pour la communication entre des applications et le moteur de base de données relationnel. La taille par défaut s'élève à 4 Ko ; elle est contrôlée par l'option de configuration Taille du paquet réseau.
2 Le nombre maximal d'octets dans une clé d'index s'élève à 900 dans SQL Server. Vous pouvez définir une clé en utilisant des colonnes de longueur variable dont la taille n'excède pas 900, à condition qu'aucune ligne de plus de 900 octets de données ne soit insérée dans ces colonnes. Dans SQL Server, vous pouvez inclure des colonnes non-clés dans un index non cluster afin d'éviter la taille de clé d'index maximale de 900 octets.
3 Les objets de base de données comprennent des tables, des vues, des procédures stockées, des fonctions définies par l'utilisateur, des déclencheurs, des règles, des valeurs par défaut et des contraintes. Au total, le nombre de tous les objets d'une base de données ne peut pas dépasser 2 147 483 647.
4Bien qu'une table puisse contenir un nombre illimité de contraintes FOREIGN KEY, le maximum recommandé est 253. Selon la configuration matérielle qui héberge SQL Server, la spécification de contraintes FOREIGN KEY supplémentaires peut représenter un coût de traitement élevé pour l'optimiseur de requête.
5 Cette valeur s'applique à l'allocation de verrouillage statique. Les verrous dynamiques sont uniquement limités par la mémoire.
6 Si une procédure stockée accède à plus de 8 bases de données ou à plus de 2 bases entrelacées, vous recevez un message d'erreur.
7 Si la table contient au moins un index XML, la clé de cluster de la table d'utilisateur est limitée à 15 colonnes, car la colonne XML est ajoutée à la clé de cluster du principal index XML. Dans SQL Server, vous pouvez inclure des colonnes non-clés dans un index non cluster afin d'éviter la limitation à un maximum de 16 colonnes clés. Pour plus d'informations, consultez Index avec colonnes incluses.
8SQL Server prend en charge le stockage avec dépassement de ligne, qui permet d'envoyer hors ligne les colonnes de longueur variable. Seule une racine de 24 octets est stockée dans l'enregistrement principal des colonnes de longueur variable envoyées hors ligne ; par conséquent, la limite effective par ligne est supérieure dans les versions antérieures de SQL Server. Pour plus d'informations, consultez la rubrique « Données de dépassement de ligne de plus de 8 Ko » dans la documentation en ligne de SQL Server.
Objets de réplication
Le tableau suivant présente la taille maximale et le nombre maximal des différents objets définis dans Réplication SQL Server.
Objet de réplication SQL Server 2005 |
Taille maximale/nombre maximal dans SQL Server (32 bits) |
Taille maximale/nombre maximal dans SQL Server (64 bits) |
---|---|---|
Articles (publication de fusion) |
256 |
256 |
Articles (publication de capture instantanée ou transactionnelle) |
32,767 |
32,767 |
Colonnes dans une table1 (publication de fusion) |
246 |
246 |
Colonnes d'une table2 (publication de capture instantanée ou transactionnelle SQL Server) |
1,000 |
1,000 |
Colonnes dans une table2 (publication de capture instantanée ou transactionnelle Oracle) |
995 |
995 |
Octets pour une colonne utilisée dans un filtre de lignes (publication de fusion) |
1,024 |
1,024 |
Octets pour une colonne utilisée dans un filtre de lignes (publication de capture instantanée ou transactionnelle) |
8,000 |
8,000 |
1 Si le suivi de niveau ligne est utilisé pour la détection des conflits (méthode par défaut), la table de base peut inclure un maximum de 1 024 colonnes, mais ces colonnes doivent être filtrées à partir de l'article, afin que 246 colonnes soient publiées au maximum. Si le suivi de niveau colonne est utilisé, la table de base peut inclure 246 colonnes au maximum. Pour plus d'informations sur le niveau de suivi, consultez la section « Niveau de suivi » dans Comment la réplication de fusion détecte et résout les conflits.
2 La table de base peut inclure le nombre maximal de colonnes autorisées dans la base de données de publication (1 024 pour SQL Server), mais les colonnes doivent être filtrées à partir de l'article si elles sont plus nombreuses que le maximum spécifié pour le type de publication.