Introduction #
SQL Server utilise par défaut toutes les ressources disponibles au sein de la machine. Il peut également potentiellement arrêter d'autres processus système.
Résolution #
Vérifiez si l'affinité du processeur est déjà limitée dans SSMS du serveur SQL en exécutant une requête :
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'affinity mask';
Si le résultat indique config_value = 0, cela signifie que tout le CPU disponible dans la machine sera utilisé.

Pour limiter cela, reportez-vous au tableau ci-dessous :
| Nombre de processeurs | CŒUR DU PROCESSEUR | Valeur du masque d'affinité |
| 1 | CPU 1 | 1 |
| 1 | CPU 2 | 2 |
| 1 | CPU 3 | 4 |
| 1 | CPU 4 | 8 |
| 2 | CPU 1, 2 | 3 |
| 2 | CPU 1, 3 | 5 |
| 2 | CPU 1, 4 | 9 |
| 2 | CPU 2, 3 | 6 |
| 2 | CPU 2, 4 | 10 |
| 2 | CPU 3, 4 | 12 |
| 3 | CPU 1, 2, 3 | 7 |
| 3 | CPU 1, 2, 4 | 11 |
| 3 | CPU 1, 3, 4 | 13 |
| 3 | CPU 2, 3, 4 | 14 |
| 4 | CPU 1, 2, 3, 4 | 15 |
Remarques :
Un « CPU » peut avoir plusieurs processeurs logiques. Ainsi, certains CPU ont 4 « cœurs CPU » et 8 « processeurs logiques ». Dans ce cas, le « nombre de CPU » correspond directement au nombre total de processeurs logiques de la machine.

Si vous souhaitez uniquement utiliser les deux premiers processeurs (CPU 1, 2), exécutez la requête ci-dessous :
EXEC sp_configure 'affinity mask', 3;
RECONFIGURE;
Si vous souhaitez uniquement utiliser les 3 premiers processeurs (CPU 1, 2, 3), exécutez la requête ci-dessous :
EXEC sp_configure 'affinity mask', 7;
RECONFIGURE;
Pour réinitialiser cette valeur à 0 (ce qui utilisera toutes les ressources disponibles), il suffit d'exécuter la requête ci-dessous :
EXEC sp_configure 'affinity mask', 0;
RECONFIGURE;
Aperçu #
Il n'est pas nécessaire de redémarrer le service SQL, RECONFIGURE applique automatiquement les modifications.
Cela rallongera légèrement la durée d'exécution de l'ETL en fonction des données.
L'exécution ETL dépend encore largement de...
- Spécifications système (SQL est par défaut très gourmand en ressources CPU)
- Autres processus dans la machine
- Efficacité avec laquelle ETL transforme et charge les données

