Limites de capacité du pool SQL dédié dans Azure Synapse Analytics

Valeurs maximales autorisées pour les différents composants d’un pool SQL dédié dans Azure Synapse Analytics.

Gestion des charges de travail

Category Description Maximale
Data Warehouse Units (DWU) DWU max pour un pool SQL dédié unique Gen1 : DW6000

Gen2 : DW30000c
Data Warehouse Units (DWU) DTU (unités de transaction de base de données) par défaut, par serveur 54 000

Par défaut, chaque serveur SQL Server (par exemple myserver.database.windows.net) a un quota de DTU fixé à 54 000, ce qui permet d’atteindre un niveau de performance maximal correspondant à DW6000c. Ce quota constitue simplement une limite de sécurité. Vous pouvez augmenter votre quota en créant un ticket de support et en sélectionnant Quota comme type de requête. Pour calculer vos besoins en matière de DTU, multipliez le nombre total de DWU nécessaire par 7,5 ou le nombre total de cDWU nécessaire par 9. Par exemple :

6 000 DW x 7,5 = 45 000 DTU

DW7500c x 9 = 67 500 DTU.

Vous pouvez consulter votre consommation de DTU actuelle dans l’option SQL Server dans le portail. Les bases de données suspendues et réactivées sont prises en compte dans le quota de DTU.
Connexion de base de données Sessions simultanées ouvertes maximales 1 024

Le nombre de sessions ouvertes simultanées varie en fonction de l’unité DWU sélectionnée. Le niveau de performance DWU1000c et les niveaux supérieurs prennent en charge au maximum 1 024 sessions ouvertes. Le niveau de performance DWU500c et les niveaux inférieurs prennent en charge au maximum 512 sessions ouvertes simultanées. Notez qu’il existe des limites sur le nombre de requêtes pouvant s’exécuter simultanément. En cas de dépassement d’une limite de concurrence, la demande est placée dans une file d’attente interne où elle attend d’être traitée.

Les connexions de session inactives ne sont pas automatiquement fermées.
Connexion de base de données Mémoire maximale pour les instructions préparées 20 Mo
Gestion des charges de travail Nombre maximal de requêtes simultanées 128

Au maximum, 128 requêtes simultanées peuvent s’exécuter, les requêtes restantes étant mises en file d’attente.

Le nombre de requêtes simultanées peut diminuer lorsque les utilisateurs sont assignés à des classes de ressources plus élevées ou lorsque le paramètre unité d’entrepôt de données est inférieur. Certaines requêtes, par exemple les requêtes DMV, sont toujours autorisées à s’exécuter et n’affectent pas la limite du nombre de requêtes simultanées. Pour plus d’informations sur l’exécution de requêtes simultanées, consultez l’article Valeurs maximales de concurrence.
tempdb Go maximum 399 Go par DW100c. Par exemple, avec DWU1000c, tempdb a une taille de 3,99 To.

Objets de base de données

Category Description Maximale
Base de données Taille maximale Gen1 : 240 To compressés sur disque. Cet espace est indépendant de tempdb ou de l’espace de journalisation. Il est donc dédié aux tables permanentes. La compression du cluster columnstore est estimée à 5 X. Cette compression permet à la base de données d’atteindre un volume d’environ 1 Po lorsque toutes les tables sont en cluster columnstore (le type de table par défaut).

Gen2 : Stockage illimité pour les tables columnstore. La partie rowstore de la base de données est toujours limitée à 240 To compressés sur le disque.
Table de charge de travail Taille maximale Taille illimitée pour les tables columnstore.
60 To pour les tables rowstore, compressés sur disque.
Table de charge de travail Tables par base de données 100 000
Table de charge de travail Colonnes par table 1 024 colonnes
Table Octets par colonne Dépend de la colonne type de données. La limite est de 8 000 pour les types de données Char, de 4 000 pour nvarchar ou 2 Go pour les types de données MAX.
Table de charge de travail Octets par ligne, taille définie 8 060 octets

Le nombre d’octets par ligne est calculé de la même manière que pour SQL Server avec la compression de page. Comme SQL Server, le stockage de dépassement de ligne est pris en charge, permettant d’envoyer les colonnes de longueur variable hors ligne. Lorsque des lignes de longueur variable sont envoyées hors ligne, seule une racine de 24 octets est stockée dans l’enregistrement principal. Pour plus d’informations, consultez Données de dépassement de ligne de plus de 8 ko.
Table de charge de travail Partitions par table 15,000

Pour des performances élevées, nous vous recommandons de réduire au minimum le nombre de partitions nécessaires tout en prenant quand même en charge les besoins de votre entreprise. À mesure que le nombre de partitions augmente, la charge pour les opérations Langage de définition de données (DDL) et Langage de manipulation de données (DML) augmente et ralentit les performances.
Table de charge de travail Caractères par valeur limite de partition. 4000
Index Index non cluster par table. 50

Applicable uniquement aux tables de stockage de lignes.
Index Index cluster par table. 1

Applicable à la fois aux tables de stockage de lignes et de stockage de colonnes.
Index Taille de la clé d’index. 900 octets.

Applicable aux index de stockage de lignes uniquement.

Il est possible de créer des index sur des colonnes varchar d’une taille maximale de plus de 900 octets si les données existantes dans les colonnes n’excèdent pas 900 octets quand l’index est créé. Toutefois, les actions INSERT ou UPDATE ultérieures sur les colonnes, qui amènent la taille totale à dépasser 900 octets, échouent.
Index Colonnes clés par index. 16

Applicable aux index de stockage de lignes uniquement. Les index de stockage de colonnes cluster incluent toutes les colonnes.
Statistiques Taille des valeurs de colonnes combinées. 900 octets.
Statistiques Colonnes par objet de statistiques. 32
Statistiques Statistiques créées sur les colonnes par table. 30,000
Procédures stockées Nombre maximal de niveaux d’imbrication. 8
Affichage Colonnes par vue 1 024
Classifieur de charge de travail Classifieur défini par l’utilisateur 100

Charges

Category Description Maximale
Charges Polybase 60 Mo par ligne 1

Polybase charge les lignes qui sont inférieures à 1 Mo. Le chargement de types de données LOB dans les tables avec un index columnstore en cluster n’est pas pris en charge.
Charges Polybase Nombre total de fichiers 1 000 000

Les charges Polybase ne peuvent pas dépasser plus de 1 million de fichiers. Vous pouvez être confronté à l’erreur suivante : Operation failed as split count exceeding upper bound of 1000000 (L’opération a échoué, car le nombre de fractionnements dépasse la limite supérieure de 1 000 000).

Requêtes

Category Description Maximale
Requête Requêtes mises en file d’attente sur les tables utilisateur. 1 000
Requête Requêtes simultanées sur les vues système. 100
Requête Requêtes mises en file d’attente sur les vues système 1 000
Requête Nombre maximal de paramètres 2 098
Batch Taille maximale 65 536*4 096
Résultats SELECT Colonnes par ligne 4096

Vous ne pouvez jamais avoir plus de 4 096 colonnes par ligne dans le résultat de SELECT. Le nombre de 4 096 colonnes n’est pas toujours garanti. Si le plan de requête nécessite une table temporaire, le nombre maximal de 1 024 colonnes par table peut s’appliquer.
SELECT Sous-requêtes imbriquées 32

Un instruction SELECT ne peut pas contenir plus de 32 sous-requêtes imbriquées. Le nombre de 32 sous-requêtes n’est pas toujours garanti. Par exemple, une instruction JOIN peut introduire une sous-requête dans le plan de requête. Le nombre de sous-requêtes peut aussi être limité par la mémoire disponible.
SELECT Colonnes par JOIN 1 024 colonnes

Vous ne pouvez jamais avoir plus de 1 024 colonnes dans JOIN. Le nombre de 1024 colonnes n’est pas toujours garanti. Si le plan JOIN exige une table temporaire avec davantage de colonnes que le résultat JOIN, la limite de 1 024 s’applique à la table temporaire.
SELECT Octets par colonnes GROUP BY. 8060

Les colonnes de la clause GROUP BY peuvent avoir au maximum 8 060 octets.
SELECT Octets par colonnes ORDER BY 8 060 octets

Les colonnes de la clause ORDER BY peuvent avoir au maximum 8 060 octets
Identificateurs par instruction Nombre d’identificateurs référencés 65 535

Le nombre d’identificateurs pouvant être contenus dans une seule expression d’une requête est limité. Le dépassement de ce nombre génère l’erreur SQL Server 8632. Pour plus d’informations, consultez la rubrique Internal error: An expression services limit has been reached (Erreur interne : une limite des services d’expression est dépassée).
Littéraux de chaîne Nombre de littéraux de chaîne dans une instruction 32 500 USD

Le nombre de constantes de chaîne pouvant être contenus dans une seule expression d’une requête est limité. Le dépassement de ce nombre génère l’erreur SQL Server 8632.

Métadonnées

Les données cumulées dans les DMV (vues de gestion dynamiques) sont réinitialisées quand un pool SQL dédié est suspendu, ou quand il est mis à l’échelle.

Vue système Lignes au maximum
sys.dm_pdw_dms_cores 100
sys.dm_pdw_dms_workers Nombre total de rôles de travail DMS pour les 1 000 dernières demandes SQL.
sys.dm_pdw_errors 10 000
sys.dm_pdw_exec_requests 10 000
sys.dm_pdw_exec_sessions 10 000
sys.dm_pdw_request_steps Nombre total d’étapes pour les 1 000 requêtes SQL les plus récentes stockées dans sys.dm_pdw_exec_requests.
sys.dm_pdw_sql_requests 1 000 requêtes SQL les plus récentes stockées dans sys.dm_pdw_exec_requests.