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 . |