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.