Exigences liées à l'utilisation des tables à mémoire optimisée

S’applique à :SQL Server

Cet article décrit les conditions requises pour l'adoption des fonctionnalités en mémoire dans SQL Server.

Spécifications

Outre la configuration matérielle et logicielle requise pour SQL Server 2022, les conditions suivantes sont requises pour l'utilisation de l'OLTP en mémoire :

  • SQL Server 2016 (13.x) SP1 et versions ultérieures, toute édition. Pour SQL Server 2014 (12.x) et SQL Server 2016 (13.x) RTM (antérieure à SP1), vous avez besoin de l'édition Enterprise, Developer ou Evaluation.

  • Remarque : L'OLTP en mémoire nécessite la version 64 bits de SQL Server.

  • SQL Server nécessite suffisamment de mémoire pour contenir les données dans les tables et les index optimisés pour la mémoire, ainsi que de la mémoire supplémentaire pour prendre en charge la charge de travail en ligne. Pour plus d’informations, consultez Estimer les besoins en mémoire des tables mémoire optimisées.

  • Lors de l'exécution de SQL Server dans un ordinateur virtuel (VM), vérifiez qu'une quantité de mémoire suffisante est allouée à l'ordinateur virtuel pour prendre en charge la mémoire nécessaire pour les tables et index optimisés en mémoire. Selon l’application hôte de la machine virtuelle, l’option de configuration pour garantir l’allocation de mémoire pour la machine virtuelle peut être appelée réserve de mémoire ou, lors de l’utilisation de mémoire dynamique, RAM minimale. Vérifiez que ces paramètres sont suffisants pour les besoins des bases de données dans SQL Server.

  • Espace disque disponible correspondant au double de la taille de vos tables optimisées en mémoire durables.

  • Un processeur doit prendre en charge l'instruction cmpxchg16b pour pouvoir utiliser l''OLTP en mémoire. Tous les processeurs 64 bits modernes prennent en charge l'instruction cmpxchg16b.

    Si vous utilisez un ordinateur virtuel et que SQL Server affiche une erreur provoquée par un processeur plus ancien, vérifiez si l'application hôte de l'ordinateur virtuel dispose d'une option de configuration pour autoriser cmpxchg16b. Si ce n'est pas le cas, vous pouvez utiliser Hyper-V, qui prend en charge l'instruction cmpxchg16b sans qu'il ne soit nécessaire de modifier une option de configuration.

  • OLTP en mémoire est installé dans le cadre des Services Moteur de base de données.

    Pour installer la création de rapports (Déterminer si une table ou une procédure stockée doit être déplacée vers l'OLTP en mémoire) et SQL Server Management Studio (pour gérer l'OLTP en mémoire via l'Explorateur d'objets SQL Server Management Studio ), téléchargez SQL Server Management Studio (SSMS).

Remarque

Remarques importantes sur l'utilisation d'OLTP en mémoire

  • Depuis SQL Server 2016 (13.x), il n'existe aucune limite à la taille des tables à mémoire optimisée, autre que la mémoire disponible.

  • Dans SQL Server 2014 (12.x), la taille totale en mémoire de toutes les tables durables dans une base de données ne doit pas dépasser 250 Go. Pour plus d’informations, consultez Estimer les besoins en mémoire des tables mémoire optimisées.

Remarque

Remarque : À compter de SQL Server 2016 (13.x) SP1, les éditions Standard et Express prennent en charge l'OLTP en mémoire, mais elles imposent des quotas sur la quantité de mémoire que vous pouvez utiliser pour les tables à mémoire optimisée dans une base de données. Dans l'édition Standard, ce quota est de 32 Go par base de données ; dans l'édition Express, il est de 352 Mo par base de données.

  • Si vous créez une ou plusieurs bases de données avec des tables à mémoire optimisée, vous devez activer l'initialisation instantanée de fichiers (IFI) en accordant au compte de démarrage du service SQL Server le droit de l'utilisateur SE_MANAGE_VOLUME_NAME. Sans IFI, les fichiers de stockage à mémoire optimisée (données et fichiers delta) sont initialisés à la création, ce qui peut avoir un effet négatif sur les performances de votre charge de travail. Pour plus d'informations sur l'IFI, y compris sur la manière de l'activer, consultez Initialisation instantanée de fichiers de base de données.

  • Problème connu : pour les bases de données avec des tables mémoire optimisées, l’exécution d’une sauvegarde de journal transactionnelle sans récupération, puis l’exécution ultérieure d’une restauration du journal des transactions avec récupération, peut entraîner un processus de restauration de base de données non satisfait. Ce problème peut également affecter la fonctionnalité d’expédition de journaux. Pour contourner ce problème, l’instance SQL Server peut être redémarrée avant de lancer le processus de restauration.