Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les meilleures pratiques pour optimiser SQL Server et améliorer les performances dans les machines virtuelles Azure Stack Hub. Lors de l’exécution de SQL Server dans des machines virtuelles Azure Stack Hub, vous pouvez utiliser les mêmes options de réglage des performances de base de données applicables à SQL Server dans un environnement de serveur local. Les performances d’une base de données relationnelle dans un cloud Azure Stack Hub dépendent de nombreux facteurs, notamment la taille de la famille d’une machine virtuelle et la configuration des disques de données.
Lorsque vous créez des images SQL Server, envisagez de provisionner vos machines virtuelles dans le portail Azure Stack Hub. Téléchargez l’extension IaaS SQL à partir de la fonctionnalité Gestion de la Place de marché dans le portail administrateur Azure Stack Hub, et téléchargez les images de machine virtuelle SQL Server de votre choix. Ces images incluent SQL Server 2016 SP1, SQL Server 2016 SP2 et SQL Server 2017.
Remarque
Bien que l’article décrit comment provisionner une machine virtuelle SQL Server à l’aide du Portail Azure global, les instructions s’appliquent également à Azure Stack Hub avec les différences suivantes : SSD n’est pas disponible pour le disque du système d’exploitation et il existe des différences mineures dans la configuration du stockage.
Dans les images de machine virtuelle, dans SQL Server, vous ne pouvez utiliser que l’approche BYOL (apportez votre propre licence). Pour Windows Server, le modèle de licence par défaut est celui assorti du paiement à l’utilisation (PAYG). Pour plus d’informations sur le modèle de licence Windows Server dans la machine virtuelle, consultez le FAQ sur Windows Server dans la Place de marché Azure Stack Hub.
Obtenir les meilleures performances pour SQL Server sur les machines virtuelles Azure Stack Hub est le focus de cet article. Si votre charge de travail est moindre, vous n’aurez peut-être pas besoin de toutes les optimisations recommandées. Tenez compte de vos besoins de performances et de vos modèles de charges de travail lors de l’évaluation de ces recommandations.
Remarque
Pour obtenir des conseils sur les performances pour SQL Server dans des machines virtuelles Azure, consultez ces instructions.
Liste de vérification pour les meilleures pratiques SQL Server
La liste de contrôle suivante a trait aux performances optimales de SQL Server sur des machines virtuelles Azure Stack Hub :
| Zone | Optimisations |
|---|---|
| Taille de la machine virtuelle |
DS3 ou supérieure pour l’édition SQL Server Entreprise DS2 ou supérieure pour l’édition SQL Server Standard et l’édition Web |
| Stockage | Utiliser une famille de machines virtuelles qui prend en charge le stockage Premium. |
| Disques | Utiliser au minimum deux disques de données (un pour les fichiers journaux et l’autre pour le fichier de données et TempDB) et choisir la taille des disques en fonction de vos besoins en capacité. Définissez les emplacements de fichier de données par défaut sur ces disques pendant l’installation de SQL Server. Éviter d’utiliser des disques de système d’exploitation ou temporaires pour le stockage ou la journalisation des bases de données. Entrelacer plusieurs disques de données Azure pour obtenir un débit d’E/S plus élevé à l’aide d’espaces de stockage. Formatez avec des tailles d’allocation documentées. |
| E/S | Activer l’initialisation instantanée de fichiers pour les fichiers de données. Limitez la croissance automatique sur les bases de données avec des incréments fixes raisonnablement petits (64 à 256 Mo). Désactivez la réduction automatique sur la base de données. Configurer les emplacements par défaut des fichiers de sauvegarde et de base de données sur des disques de données, pas sur le disque de système d’exploitation. Activer les pages verrouillées. Appliquer les mises à jour cumulatives et les Service Packs SQL Server. |
| Spécifique aux fonctionnalités | Sauvegarder directement sur un stockage d’objets blob (si pris en charge par la version de SQL Server en cours d’utilisation). |
Pour plus d’informations sur la façon et la raison de ces optimisations, passez en revue les détails et les conseils fournis dans les sections suivantes.
Conseils liés à la taille des machines virtuelles
Pour les applications sensibles aux performances, les tailles de machines virtuelles suivantes sont recommandées :
- Édition SQL Server Enterprise : DS3 ou version ultérieure.
- Édition SQL Server Standard et édition Web : DS2 ou version ultérieure.
Avec Azure Stack Hub, il n’existe aucune différence de performances entre les séries de machines virtuelles DS et DS_v2.
Conseils liés au stockage
Les machines virtuelles de la série DS (ainsi que de la série DSv2) dans Azure Stack Hub fournissent les débits (IOPS) maximaux de disque de système d’exploitation et de disque de données. Une machine virtuelle de la série DS ou DSv2 fournit jusqu’à 1 000 IOPS pour le disque de système d’exploitation et jusqu’à 2 300 IOPS par disque de données, quel que soit le type ou la taille du disque choisi.
Le débit des disques de données est déterminé de façon unique en fonction de la série de famille de machines virtuelles. Consultez les tailles de machine virtuelle prises en charge dans Azure Stack Hub pour identifier le débit du disque de données par série de familles de machines virtuelles.
Remarque
Pour les charges de travail de production, sélectionnez une machine virtuelle de série DSv2 ou DS pour fournir le maximum d’IOPS possible sur le disque de système d’exploitation et les disques de données.
Lorsque vous créez un compte de stockage dans Azure Stack Hub, l’option de géoréplication n’a aucun effet, car cette fonctionnalité n’est pas disponible dans Azure Stack Hub.
Conseils liés aux disques
Il existe trois types de disques principaux sur une machine virtuelle Azure Stack Hub :
- Disque du système d’exploitation : lorsque vous créez une machine virtuelle Azure Stack Hub, la plateforme attache au moins un disque (étiqueté comme lecteur C ) à la machine virtuelle pour votre disque de système d’exploitation. Ce disque est un disque dur virtuel (VHD) stocké en tant qu’objet blob de pages dans le stockage.
- Disque temporaire : les machines virtuelles Azure Stack Hub contiennent un autre disque appelé disque temporaire (étiqueté comme lecteur D ). Il s’agit d’un disque sur le nœud que vous pouvez utiliser pour l'espace temporaire.
- Disques de données : vous pouvez ajouter des disques supplémentaires à votre machine virtuelle en tant que disques de données, et ces disques sont stockés sous forme de blocs de pages.
Les sections suivantes décrivent des recommandations pour l’utilisation de ces disques différents.
Disque de système d’exploitation
Un disque de système d’exploitation est un disque dur virtuel (VHD) que vous pouvez amorcer et monter comme version d’exécution d’un système d’exploitation. Il est désigné par la lettre de lecteur C.
Disque temporaire
Le disque de stockage temporaire, désigné par la lettre D, n’est pas persistant. Ne stockez pas de données précieuses sur le lecteur D. Cela inclut les fichiers de base de données utilisateur et les fichiers journaux de transactions utilisateur.
Nous vous recommandons de stocker TempDB sur un disque de données, car chaque disque de données fournit au maximum 2 300 IOPS.
Disques de données
- Utilisez des disques de données pour les fichiers journaux et les données. Si vous n’utilisez pas l’entrelacement de disques, utilisez deux disques de données à partir d’une machine virtuelle qui prend en charge le stockage Premium, l’un pour contenir les fichiers journaux et l’autre pour contenir les fichiers TempDB et de données. Chaque disque de données fournit un nombre d’IOPS dépendant de la famille de la machine virtuelle, comme décrit dans Tailles de machine virtuelle prises en charge dans Azure Stack Hub. Si vous utilisez une technique de striping de disque, telle que les espaces de stockage, placez tous les fichiers de données et de journaux sur le même lecteur (y compris TempDB). Cette configuration vous donne le nombre maximal d’IOPS utilisables par SQL Server, quel que soit le fichier qui en a besoin à un moment donné.
Remarque
Lorsque vous configurez une machine virtuelle SQL Server dans le portail, vous avez la possibilité de modifier votre configuration de stockage. Selon votre configuration, Azure Stack Hub configure un ou plusieurs disques. Plusieurs disques sont combinés en un pool de stockage unique. Les fichiers journaux et de données se trouvent dans cette configuration.
Mappage de disque : Pour un débit plus élevé, vous pouvez ajouter des disques de données supplémentaires et utiliser le mappage de disques. Pour déterminer le nombre de disques de données dont vous avez besoin, analysez le nombre d’IOPS nécessaires pour vos fichiers journaux, ainsi que pour vos fichiers de données et TempDB. Notez que les limites d’IOPS sont exprimées par disque de données, en fonction de la famille de série de la machine virtuelle et non de la taille de la machine virtuelle. Toutefois, les limites de bande passante réseau sont basées sur la taille de la machine virtuelle. Pour plus de détails, voir les tableaux des tailles de machine virtuelle dans Azure Stack Hub. Utilisez les recommandations suivantes :
Pour Windows Server 2012 ou version ultérieure, utilisez des espaces de stockage en respectant les consignes suivantes :
Définissez l’intervalle (taille de bande) sur 64 Ko (65 536 octets) pour les charges de travail OLTP (traitement transactionnel en ligne) et sur 256 Ko (262 144 octets) pour les charges de travail d’entrepôt de données, afin d’éviter qu’un alignement incorrect de la partition n’impacte les performances. Ces paramètres doivent être définis avec PowerShell.
Définissez le nombre de colonnes sur le nombre de disques physiques. Utilisez PowerShell quand vous configurez plus de huit disques (et non l’interface utilisateur du gestionnaire de serveur). Par exemple, la commande PowerShell suivante crée un pool de stockage avec la taille entrelacée fixée à 64 ko et le nombre de colonnes à 2 :
$PoolCount = Get-PhysicalDisk -CanPool $True $PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"} New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" -Interleave 65536 -NumberOfColumns 2 -ResiliencySettingName simple -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" -AllocationUnitSize 65536 -Confirm:$false
Déterminez le nombre de disques associés à votre pool de stockage en fonction de vos attentes en matière de charge. N’oubliez pas que les différentes tailles de machines virtuelles autorisent différents nombres de disques de données attachés. Pour plus d’informations, voir les Tailles de machine virtuelle prises en charge dans Azure Stack Hub.
Pour obtenir le nombre maximal d’E/S par seconde possibles pour les disques de données, il est recommandé d’ajouter le nombre maximal de disques de données pris en charge par la taille de votre machine virtuelle et d’utiliser la bande de disques.
Taille de l’unité d’allocation NTFS : lorsque vous mettez en forme le disque de données, nous vous recommandons d’utiliser une taille d’unité d’allocation de 64 Ko pour les fichiers de données et les fichiers journaux, ainsi que TempDB.
Pratiques de gestion des disques : lorsque vous supprimez un disque de données, arrêtez le service SQL Server pendant la modification. En outre, ne changez pas les paramètres de cache sur les disques, car cette opération n’améliore pas les performances.
Avertissement
L’échec de l’arrêt du service SQL pendant ces opérations peut entraîner une altération de la base de données.
Recommandations liées aux E/S
Envisagez d’activer l’initialisation instantanée des fichiers pour réduire le temps requis pour l’allocation initiale des fichiers. Pour tirer parti de l’initialisation instantanée des fichiers, vous devez accorder l’autorisation SE_MANAGE_VOLUME_NAME au compte de service SQL Server (MSSQLSERVER) et l’ajouter à la stratégie de sécurité Effectuer des tâches de maintenance sur les volumes. Si vous utilisez une image de plateforme SQL Server pour Azure, le compte de service par défaut (NT Service\MSSQLSERVER) n’est pas ajouté à la stratégie de sécurité Effectuer des tâches de maintenance sur les volumes. En d’autres termes, l’initialisation instantanée des fichiers n’est pas activée dans une image de plateforme SQL Server pour Azure. Après avoir ajouté le compte de service SQL Server à la stratégie de sécurité Effectuer les tâches de maintenance de volume , redémarrez le service SQL Server. Il peut y avoir des considérations de sécurité lorsque vous utilisez cette fonctionnalité. Pour plus d’informations, consultez Initialisation des fichiers de base de données.
Auto-croissance est une mesure de contingence pour une croissance inattendue. Ne gérez pas vos données et ne consignez pas la croissance quotidienne avec la croissance automatique. Si la croissance automatique est utilisée, augmentez la taille du fichier au préalable à l'aide du commutateur Taille.
Assurez-vous que la réduction automatique est désactivée pour éviter une surcharge inutile qui peut affecter négativement les performances.
Configurez les emplacements de sauvegarde et de fichier de base de données par défaut. Utilisez les suggestions de cet article, puis apportez les modifications souhaitées dans la fenêtre Propriétés du serveur. Pour obtenir des instructions, consultez Afficher ou modifier les emplacements par défaut pour les fichiers de données et les fichiers journaux. La capture d’écran suivante montre comment effectuer ces modifications :
Activez les pages verrouillées pour réduire les activités d’E/S et de pagination. Pour plus d’informations, consultez l’option Activer les pages de verrouillage en mémoire.
Envisagez de compresser les fichiers de données lorsque vous transférez vers/hors d’Azure Stack Hub, y compris les sauvegardes.
Conseils spécifiques aux fonctionnalités
Certains déploiements peuvent obtenir des avantages en matière de performances à l’aide de techniques de configuration plus avancées. La liste suivante met en évidence certaines fonctionnalités SQL Server qui peuvent vous aider à obtenir de meilleures performances :
Sauvegardez dansle stockage Azure. Lorsque vous effectuez des sauvegardes pour SQL Server exécutées dans des machines virtuelles Azure Stack Hub, vous pouvez utiliser SQL Server Backup to URL. Cette fonctionnalité est disponible à partir de SQL Server 2012 SP1 CU2, et recommandée pour la sauvegarde vers les disques de données attachés.
Lorsque vous sauvegardez ou restaurez à l’aide du stockage Azure, suivez les recommandations fournies dans les meilleures pratiques pour la sauvegarde SQL Server vers une URL et le dépannage et la restauration à partir des sauvegardes dans Microsoft Azure. Vous pouvez également automatiser ces sauvegardes à l’aide d’une sauvegarde automatisée pour SQL Server dans des machines virtuelles Azure.
Sauvegarde sur stockage Azure Stack Hub. Vous pouvez effectuer une sauvegarde vers le stockage Azure Stack Hub de la même manière qu’une sauvegarde vers Stockage Azure. Lorsque vous créez une sauvegarde dans SQL Server Management Studio (SSMS), vous devez entrer manuellement les informations de configuration. Vous ne pouvez pas utiliser SSMS pour créer le conteneur de stockage ou la signature d’accès partagé. SSMS se connecte uniquement à des abonnements Azure, pas à des abonnements Azure Stack Hub. Au lieu de cela, créez le compte de stockage, le conteneur et la signature d’accès partagé dans le portail Azure Stack Hub ou avec PowerShell.
Remarque
La signature d’accès partagé est le jeton SAS à partir du portail Azure Stack Hub, sans le « ? » initial dans la chaîne. Si vous utilisez la fonction de copie à partir du portail, supprimez le premier « ? » pour que le jeton fonctionne dans SQL Server.
Une fois la destination de sauvegarde définie et configurée dans SQL Server, vous pouvez ensuite effectuer une sauvegarde dans le stockage blob d’Azure Stack Hub.
Étapes suivantes
Utilisation de services ou génération d’applications pour Azure Stack Hub